即使没有表单验证,Url也会打开

时间:2013-10-21 10:21:15

标签: javascript html validation webpage

我已经为网页创建了一个登录页面。之后登录用户应该被重定向到另一个页面。但是当你直接在浏览器中提供重定向网址时,它会打开。它不应该那样。我失踪了这里有什么东西?。新手,请帮帮我。我已经在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>

3 个答案:

答案 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>