每当 verifyUser 返回 true 时,应该执行 if 语句,但由于某种原因而不是转到标题位置,页面只是刷新,这就是所发生的一切。我已检查以确保输入信息正确无误,并且当信息不正确时,else 语句执行得非常好。如果有人对为什么会发生这种情况有任何想法,请告诉我。谢谢你。
这是生成 header() 语句的段:
function validateUser($name, $pass)
{
$check = verifyUser($name, md5($pass));
if($check)
{
$_SESSION['status'] = 'authorized';
header('location: index.php');
} else{
echo'Please enter a correct username and password <br />';
echo "<a href='http://localhost/cms/admin/login.php'>Try Again?</a>";
exit;
}
}
这是 verifyUser 函数,以防万一有人需要它。
function verifyUser($name, $pass)
{
// Escape strings
$username = mysql_real_escape_string($name);
$password = mysql_real_escape_string($pass);
$result = mysql_query("select * from users where username='$username' and password='$password' limit 1");
if (mysql_num_rows($result)>0)
{
return true;
} else{
return false;
}
}