如果用户有效,请从管理页面进入浏览器,然后转到另一个页面。
用户输入用户名和密码后,单击确定按钮,将显示另一个页面,并自动关闭登录页面。
如何使用JavaScript执行此操作?
Answers:
要简单地使用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>
http://example.com
,则window.location.href = 'new_url';
可以正常工作。如果您的代码将在多个域上使用,但是您始终希望将用户重定向到他们已经在该域中的同一子路径中,则这特别有用。
您不能理智地依靠客户端JavaScript来确定用户凭据是否正确。浏览器(以及执行该代码的所有代码)都在用户(而不是您)的控制之下,因此不可信。
用户名和密码需要使用表格输入。确定按钮将是一个提交按钮。action属性必须指向一个URL,该URL将由检查凭据的程序处理。
该程序可以用JavaScript编写,但是如何实现将取决于您所使用的服务器端JavaScript引擎。请注意,SSJS不是主流技术,因此,如果您真的想使用它,则必须使用专门的托管或管理您自己的服务器。
(十年半后,由于使用Node.js,SSJS变得更加普遍,尽管它仍然相当专业)。
如果您之后想要重定向,则程序需要发出HTTP Location标头。
请注意,在输出任何私有页面之前,您需要检查凭据是否正常(通常是通过将令牌(不是实际密码)存储在cookie中)。否则,任何人都可以通过知道URL进入私有页面(从而绕过登录系统)。
尝试这个,
window.location.href="sample.html";
这sample.html
是下一页。它将转到下一页。
验证用户是javascript的管理员会导致麻烦,因为javascript代码对任何人都是可见的。服务器是应该在登录过程之后告诉管理员和普通用户之间的区别,然后相应地生成新页面的服务器。
也许这不是您要尝试回答的问题:
window.location.href="<the page you are going to>";
我得到的正确解决方案是
<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>
在此,新网址在单引号内给出。
更简单的方法是 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验证-
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);
?>
希望这会有所帮助:
window.location.href = '/url_after_domain';
对于MVC开发人员,使用javascript重定向浏览器:
window.location.href = "@Url.Action("Action", "Controller")";