每当 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;
}
  }