我尝试自己单页登录(表单+验证)。它的效果稍好一点。我使用SESSION
检查所有条件(用户是否存在,密码是否正确)。
我的代码在这里:
if(isset($_SESSION['loggedin']))
{
header("Location:member_page.php");
}
if(!isset($_POST['submit']))
{
if(isset($_SESSION['result']))
{
if($_SESSION['result']=="false")
echo "<font color=white>Invalid Credentials. Try again!!! </font>";
if($_SESSION['result']=="false1")
echo "<font color=white>User doesn't exist. Try again!!!</font>";
}
}
else
{
/* check user Authentication in DB*/
}
效果很好。但是当我重新加载页面时,会话仍然存在,因此页面中显示相同的错误。我认为这对用户来说可能很烦人。是否可以在此代码中进行任何修改来解决此问题? 还告诉我这个代码是否适合单页登录表单?
答案 0 :(得分:2)
在回显错误后,您需要从会话中删除变量。
在{:1>下添加unset($_SESSION['result']);
if($_SESSION['result']=="false")
echo "<font color=white>Invalid Credentials. Try again!!! </font>";
if($_SESSION['result']=="false1")
echo "<font color=white>User doesn't exist. Try again!!!</font>";