刷新时显示的登录信息不正确:PHP LOGIN SCRIPT

时间:2013-01-10 02:18:22

标签: php login

好的......所以...我在这里的第一个问题,请耐心等待。

我已经创建了一个带注册,MySQL数据库等的登录脚本。到目前为止它工作得很好。除了我刷新页面的事实,即使我还没有输入任何信息,它也会给我错误的登录信息错误。第一次加载页面,或者如果我登录假用户,然后注销,它将工作。但这是代码

    if($_SESSION["logged"])
{
         print_secure_content();
}
else {
        if(!$_SESSION["logging"])
        {  
        $_SESSION["logging"]=true;
        echo "Login:";
        loginform();
        }
         else if($_SESSION["logging"])
           {
                 $number_of_rows=checkpass();
                 if($number_of_rows==1)
                        {       
                         $_SESSION[user]=$_POST[userlogin];
                         $_SESSION[logged]=true;
                         echo"<h1>you have logged in successfully</h1>";
                         print_secure_content();
                        }
                else{
                                   echo "wrong password or username, please try again";
                                    loginform();



                        }
                }

         }

1 个答案:

答案 0 :(得分:1)

那是因为你要存储是否验证$_SESSION中的用户名/密码。

显示登录表单时,$_SESSION['logging']设置为true。然后,您成功登录(它仍然设置为true)。下次您看到登录表单时,它仍然设置为true,因此会尝试检查您的用户名/密码组合,从而检查错误。

您应该检查$_SESSION['logging']数组中是否存在用户名和密码字段,而不是使用$_POST来确定是否应该验证用户名/密码,因为这些字段将存在仅当用户提交表单时。