Ошибка PHP isset для входа пользователя - PullRequest
1 голос
/ 20 января 2011

Я ищу способ уведомить пользователя о сбое учетных данных, например:

Итак, в верхней части 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 ]

2 голосов
/ 20 января 2011

Простым решением будет добавление параметра строки запроса при перенаправлении на страницу index.php после неудачного входа в систему:

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>";
 } 
 ?>
0 голосов
/ 20 января 2011

Из кода, который вы даете, кажется, что вы никогда не устанавливаете $fail.

...