if((isset($_POST['user'])&&$_POST['user']=='panus')&&(isset($_POST['password'])&&$_POST['password']=='welcome'))
   {
   setcookie("dlcookie","ok");
   echo "<script type='text/javascript'>location.href='login.php'</script>"; 
   }
   
   else{
   echo "<script type='text/javascript'>alert('帐号或密码错误');</script>";
   }
为什么一刷新也会弹出(帐号或密码错误)js对话框??应该怎样修改?

解决方案 »

  1.   

    <form action="login.php" method="post" name="loginform" onsubmit="return Login_check()">
         帐号:<input type="text" name="user" size="20"><br>
         密码:<input type="password" name="password" size="21">&nbsp;
         <input type="submit" value="登录" name="denglu">
    这是表单代码!
      

  2.   

    提交到本页面? 你刷新一次等于重新执行一次文件,没满足if 条件,当然就进入else分支了。
      

  3.   

    代码的业务逻辑有问题啊,应该这样写:
    if(isset($_POST['user']) && isset($_POST['password'])) {
    if ($_POST['user'] == 'panus' && $_POST['password'] == 'welcome') {
    setcookie("dlcookie","ok");
    echo "<script type='text/javascript'>location.href='login.php'</script>";
    }
    else echo "<script type='text/javascript'>alert('帐号或密码错误');</script>";
    }
      

  4.   

    最好将php代码写到另一个页面进行处理,可以避免页面刷新时的自动提交。可以了解一下MVC