如果用戶有效,則從管理頁面開始,瀏覽器應該轉到其他頁面。如何從一個頁面到另一個頁面使用JavaScript?
當用戶輸入他的用戶名和密碼,然後單擊確定按鈕,然後顯示另一個頁面,登錄頁面自動關閉。
我該如何用JavaScript做到這一點?
如果用戶有效,則從管理頁面開始,瀏覽器應該轉到其他頁面。如何從一個頁面到另一個頁面使用JavaScript?
當用戶輸入他的用戶名和密碼,然後單擊確定按鈕,然後顯示另一個頁面,登錄頁面自動關閉。
我該如何用JavaScript做到這一點?
要使用JavaScript簡單地重定向瀏覽器:
window.location.href = "http://example.com/new_url";
重定向並提交形式(即登錄信息),不需要的javascript:
<form action="/new_url" method="POST">
<input name="username">
<input type="password" name="password">
<button type="submit">Submit</button>
</form>
作爲一個額外的說明,至少Safari處理這個問題:您不需要爲腳本方法指定一個域。所以如果你的代碼已經在'http:// example.com'上,那麼只需'window.location.href ='new_url';'就可以工作。如果您的代碼將用於多個域,但是您始終希望將用戶重定向到它們所在域中的相同子路徑,則此功能特別有用。 – ArtOfWarfare 2015-03-21 12:36:52
驗證,用戶是管理員javascript會導致麻煩,因爲任何人都可以看到JavaScript代碼。服務器是應該在登錄過程之後告訴管理員和普通用戶之間的區別,然後相應地生成新頁面的人。
也許這不是你正在嘗試做這樣回答你的問題:
window.location.href="<the page you are going to>";
您不能三立取決於客戶端的JavaScript以確定是否用戶憑據是正確的。瀏覽器(以及執行該操作的所有代碼)都在用戶的控制之下,而不是你自己,所以它不值得信任。
用戶名和密碼需要用表格輸入。確定按鈕將是一個提交按鈕。 action屬性必須指向將由檢查證書的程序處理的URL。
這個程序可以用JavaScript編寫,但你怎麼去取決於你使用的是哪個server side JavaScript engine。請注意,SSJS不是主流技術,所以如果你真的想使用它,你將不得不使用專門的託管或管理你自己的服務器。
(半年後,由於Node.js,SSJS更爲常見,但它仍然相當專業化)。
如果你想在之後重定向,那麼程序需要發出一個HTTP Location header。
請注意,在輸出任何專用頁面之前,您需要檢查憑據是否正常(通常通過在Cookie中存儲令牌,而不是實際密碼)。否則,任何人都可以通過知道URL來訪問私人頁面(並繞過登錄系統)。
正確的解決方案,我得到的是
<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>
在這裏,新的URL是單引號內給出。
試試這個,
window.location.href="sample.html";
這裏sample.html
是下一個頁面。它會進入下一頁。
簡單的方法是window.location.href = "http://example.com/new_url";
但是,如果你想檢查用戶名和密碼是否爲空或不使用JavaScript,並將其發送到PHP來檢查用戶是否在數據庫中的內容。遵循此代碼,您可以輕鬆完成此操作。
HTML表單 -
<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>
的JavaScript 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);
?>
對於MVC開發人員,使用JavaScript重定向瀏覽器:
window.location.href = "@Url.Action("Action", "Controller")";
雖然它不清楚你想要什麼,用javascript來處理登錄和重定向是不是一個偉大的想法,作爲一個精明的用戶可以很容易地繞過限制這樣的。 – micmcg 2010-12-13 06:36:01