我已经为网页创建了一个登录页面。之后登录用户应该被重定向到另一个页面。但是当你直接在浏览器中提供重定向网址时,它会打开。它不应该那样。我失踪了这里有什么东西?。新手,请帮帮我。我已经在javascript中完成了表单验证并打开了重定向网址,如下面的代码所示
function check(form)
{
if(form.userid.value == "myuserid" && form.pswrd.value == "mypswrd")
{
window.open('demo/index.html','_self')
}
else
{
alert("Error Password or Username")
}
}
完整代码:
<html>
<head>
<title>Login page</title>
<style>
</style>
</head>
<body>
<h1> Login Page </h1>
<form name="login">
Username<input type="text" name="userid"/>
Password<input type="password" name="pswrd"/>
<input type="button" onclick="check(this.form)" value="Login"/>
<input type="reset" value="Cancel"/>
</form>
<script language="javascript" >
function check(form)
{
if(form.userid.value == "myuserid" && form.pswrd.value == "mypswrd")
{
window.open('demo/index.html','_self')
else
{
alert("Error Password or Username")
}
}
</script>
</body>
</html>
答案 0 :(得分:2)
如果您想在不登录的情况下阻止查看页面,则应使用cookie或会话。它可以在php中找到。
在java脚本中,您可以使用localstorage
将您的if条件修改为
if(form.userid.value == "myuserid" && form.pswrd.value == "mypswrd")
{
window.localStorage.setItem("Login", "true");
window.open('demo/index.html','_self');
}
并在目标网页demo/index.html
window.onload=function(){
if(window.localStorage.getItem("Login")!="true") {
alert("Please Login");
window.open('login.html','_self');
}
};
注意:登录后,您将能够访问目标页面。如果要注销,请在注销时将login
项设置为false
-
window.localStorage.setItem("Login", "false");
否则,如果您已登录过一次,则可以随时访问该页面。
答案 1 :(得分:0)
问题不在这一边,而在于demo / book1 / index.html页面。除非您在那里添加代码以防止访问它,否则您始终可以在浏览器中打开它。我认为您需要使用某种提供开箱即用身份验证的框架进行调查。
答案 2 :(得分:0)
我认为你应该试试这个
<html>
<head>
<title>Login page</title>
</head>
<body>
<h1> Login Page </h1>
<form name="login">
Username<input type="text" name="userid"/>
Password<input type="password" name="pswrd"/>
<input type="button" onclick="check(this.form)" value="Login"/>
<input type="reset" value="Cancel"/>
</form>
<script language="javascript" >
function check(form)
{
if(form.userid.value == "Username" && form.pswrd.value == "Password")
{
window.open("http://www.google.com");
}
else
{
alert("Error Password or Username")
}
}
</script>
</body>
</html>