用户登录时,PHP设置失败

时间:2011-01-20 11:14:44

标签: php isset

我正在寻找一种方法来通知用户登录凭据失败,如下所示:

所以在index.php的顶部(如果登录失败,他们会登录并重定向到我):

 <?php 
 if (isset($fail)) {
  echo "<p>Failed Login</p>";
 } 
 ?>

凭证的检查是这样的:

  if($ensure_credentials) {
   $_SESSION['status'] = 'authorized';
   $_SESSION['username'] = $un;
   header("location: ../".$un.".php");
  } else {
   header("location: ../index.php");
   echo $fail;
  }

目前,重定向工作正常,他们没有登录,但通知没有得到回应?

2 个答案:

答案 0 :(得分:2)

一个简单的解决方案是在登录失败后重定向到index.php页面时添加一个querystring参数:

if($ensure_credentials) {
   $_SESSION['status'] = 'authorized';
   $_SESSION['username'] = $un;
   header("location: ../".$un.".php");
  } else {
   header("location: ../index.php?fail=1");
  }

在index.php的顶部添加:

 <?php 
 if (isset($_GET['fail']) && ($_GET['fail'] == '1'))) {
     echo "<p>Failed Login</p>";
 } 
 ?>

答案 1 :(得分:0)

根据您提供的代码,您似乎永远不会设置$fail