2010-12-13 15 views
41

यदि कोई उपयोगकर्ता मान्य है तो व्यवस्थापक पृष्ठ से ब्राउज़र को किसी अन्य पृष्ठ पर जाना चाहिए।जावास्क्रिप्ट का उपयोग कर एक पृष्ठ से दूसरे पृष्ठ पर कैसे जाना है?

जब कोई उपयोगकर्ता अपना उपयोगकर्ता नाम और पासवर्ड दर्ज करता है, तो ठीक बटन क्लिक करता है तो दूसरा पृष्ठ प्रदर्शित होता है और लॉगिन पृष्ठ स्वचालित रूप से बंद हो जाता है।

मैं जावास्क्रिप्ट के साथ यह कैसे कर सकता हूं?

+6

जबकि इसका स्पष्ट नहीं आप क्या चाहते हैं, लॉगिन को संभालने के लिए जावास्क्रिप्ट का उपयोग करने और पुनर्निर्देशन एक बहुत अच्छा विचार है, एक सामान्य बुद्धि उपयोगकर्ता आसानी से बाईपास इस तरह की अनुमति नहीं देता कर सकते हैं के रूप में नहीं है । – micmcg

उत्तर

77

बस जावास्क्रिप्ट का उपयोग करते हुए एक ब्राउज़र पुनर्निर्देशित करने के लिए:

window.location.href = "http://example.com/new_url"; 

रीडायरेक्ट और एक फार्म (यानी लॉगिन विवरण) प्रस्तुत करने के लिए, कोई जावास्क्रिप्ट की आवश्यकता है:

<form action="/new_url" method="POST"> 
    <input name="username"> 
    <input type="password" name="password"> 
    <button type="submit">Submit</button> 
</form> 
+3

एक अतिरिक्त नोट के रूप में, कम से कम सफारी इसे संभालती है: आपको स्क्रिप्टिंग विधि के लिए डोमेन निर्दिष्ट करने की आवश्यकता नहीं है। तो यदि आपका कोड पहले से ही http: // example.com' पर था, तो बस 'window.location.href =' new_url ';' काम करेगा। यह विशेष रूप से उपयोगी होता है यदि आपका कोड एकाधिक डोमेन पर उपयोग किया जाएगा, लेकिन आप हमेशा चाहते हैं कि उपयोगकर्ता उस डोमेन के भीतर उसी उपपथ पर रीडायरेक्ट हो जाए जो वे पहले से ही हैं। – ArtOfWarfare

5

सत्यापन किया जा रहा है कि एक उपयोगकर्ता में एक व्यवस्थापक है जावास्क्रिप्ट परेशानी का कारण बनता है क्योंकि जावास्क्रिप्ट कोड किसी के लिए दृश्यमान है। सर्वर वह है जो लॉगिन प्रक्रिया के बाद व्यवस्थापक और नियमित उपयोगकर्ता के बीच अंतर बताना चाहिए और फिर तदनुसार नया पृष्ठ उत्पन्न करना चाहिए।

window.location.href="<the page you are going to>"; 
8

आप नहीं sanely ग्राहक के पक्ष जावास्क्रिप्ट पर निर्धारित करने के लिए करता है, तो उपयोगकर्ता क्रेडेंशियल सही हैं निर्भर रह सकते हैं:

हो सकता है कि आप अपने सवाल का जवाब देने ऐसा करने के लिए कोशिश कर रहे हैं नहीं है। ब्राउजर (और वह कोड जो इसे निष्पादित करता है) उपयोगकर्ता के नियंत्रण में है, न कि आप, इसलिए यह भरोसेमंद नहीं है।

उपयोगकर्ता नाम और पासवर्ड को किसी फॉर्म का उपयोग करके दर्ज करने की आवश्यकता है। ठीक बटन एक सबमिट बटन होगा। एक्शन विशेषता को एक यूआरएल को इंगित करना होगा जिसे एक प्रोग्राम द्वारा संभाला जाएगा जो प्रमाण-पत्रों की जांच करता है।

यह प्रोग्राम जावास्क्रिप्ट में लिखा जा सकता है, लेकिन आप इसके बारे में कैसे जाते हैं इस पर निर्भर करेगा कि आप server side JavaScript engine पर निर्भर थे। ध्यान दें कि एसएसजेएस मुख्यधारा की तकनीक नहीं है, इसलिए यदि आप वास्तव में इसका उपयोग करना चाहते हैं, तो आपको विशेष होस्टिंग या अपने स्वयं के सर्वर का उपयोग करना होगा।

(आधे दशक बाद और एसएसजेएस नोड.जेएस के लिए बहुत आम धन्यवाद है, हालांकि यह अभी भी काफी विशिष्ट है)।

यदि आप बाद में रीडायरेक्ट करना चाहते हैं, तो प्रोग्राम को HTTP Location header उत्सर्जित करने की आवश्यकता है।

ध्यान दें कि किसी भी निजी पृष्ठ को आउटपुट करने से पहले आपको क्रेडेंशियल्स ठीक है (आमतौर पर एक टोकन संग्रहीत करके, एक कुकी में वास्तविक पासवर्ड नहीं है) की जांच करने की आवश्यकता है। अन्यथा कोई भी यूआरएल (और इस प्रकार लॉगिन सिस्टम को छोड़कर) को जानकर निजी पृष्ठों पर जा सकता है।

4

सही समाधान है कि मैं पाने के

<html> 
     <head> 
     <script type="text/javascript" language="JavaScript"> 
        function clickedButton() 
      { 

       window.location = 'new url' 

      } 
      </script> 
     </head> 

     <form name="login_form" method="post"> 
      .................. 
      <input type="button" value="Login" onClick="clickedButton()"/> 
     </form> 
</html> 

यहाँ नया यूआरएल एकल उद्धरण के अंदर दिया जाता है।

5

इस प्रयास करें,

window.location.href="sample.html"; 

यहाँ sample.html एक अगले पृष्ठ है। यह अगले पृष्ठ पर जाएगा।

1

आसान विधि window.location.href = "http://example.com/new_url";

लेकिन क्या आप अगर यूज़रनेम और पासवर्ड खाली या नहीं जावास्क्रिप्ट का उपयोग और php के लिए भेज या नहीं डेटाबेस में उपयोगकर्ता की जाँच करने के जांच करने के लिए चाहते हैं। आप इस कोड के बाद आसानी से ऐसा कर सकते हैं।

एचटीएमएल प्रपत्र -

<form name="myForm" onsubmit="return validateForm()" method="POST" action="login.php" >   
    <input type="text" name="username" id="username" /> 
    <input type="password" name="password" id="password" /> 
    <input type="submit" name="submitBt"value="LogIn" /> 
</form> 

जावास्क्रिप्ट validation-

function validateForm(){ 
    var uname = document.forms["myForm"]["username"].value; 
    var pass = document.forms["myForm"]["password"].value; 

    if((!isEmpty(uname, "Log In")) && (!isEmpty(pass, "Password"))){ 

     return true; 
    }else{ 
     return false; 
    } 
} 

function isEmpty(elemValue, field){ 
    if((elemValue == "") || (elemValue == null)){ 
     alert("you can not have "+field+" field empty"); 
     return true; 
    }else{ 
     return false; 
    } 
} 

जांच करता है, तो का उपयोग कर डेटाबेस में उपयोगकर्ता php

<?php 
    $con = mysqli_connect("localhost","root","1234","users"); 

    if(mysqli_connect_errno()){ 
     echo "Couldn't connect ".mysqli_connect_error(); 
    }else{ 
     //echo "connection successful <br />"; 
    } 

    $uname_tb = $_POST['username']; 
    $pass_tb = $_POST['password']; 

    $query ="SELECT * FROM user"; 
    $result = mysqli_query($con,$query); 

    while($row = mysqli_fetch_array($result)){ 
     if(($row['username'] == $uname_tb) && ($row['password'] == $pass_tb)){ 
      echo "Login Successful"; 
      header('Location: dashbord.php'); 
      exit(); 
     }else{ 
      echo "You are not in our database".mysqli_connect_error(); 
     } 
    } 
    mysqli_close($con); 
?> 
0

MVC डेवलपर के लिए, जावास्क्रिप्ट का उपयोग करते हुए एक ब्राउज़र रीडायरेक्ट करने के लिए:

window.location.href = "@Url.Action("Action", "Controller")"; 
संबंधित मुद्दे