2014-08-09 4 views
0

Я пытаюсь на своей странице «connexion.php» проверить, был ли пользователь уже зарегистрирован или нет. Обычно мой код должен работать, но это не так. Ошибка появляется в перенаправлении. Вот мой код.Как проверить, зарегистрирован ли пользователь?

x 

Если я делать var_dump(), мой $ _SESSION [ 'ID'] существует, и если я имел эхо ''; после заголовка («Местоположение: ../../Index/v/index.php»); текст хорошо отображается, поэтому ошибка, похоже, находится в перенаправлении, даже если она написана хорошо. Команда

+0

Это очень плохая идея, чтобы отправить '' Расположение: заголовок и не сразу 'выхода()' ИНГ сценарий впоследствии. И для отслеживания ошибок, упакуйте 'error_reporting (E_ALL);' в начале вашего скрипта. – Julian

+2

Поместите свой 'if (isset ($ _ SESSION ['id'])) {header (" Местоположение: ../../ Index/v/index.php ");}' вверху, сразу после 'session_start (); ', но перед отправкой заголовков ->' ' – Sean

ответ

1

Заголовок() будет только на самом деле работает, если он отправляется клиенту перед любой другой Tranfer данных произошло, это потому, что у вас есть уже выход в HTML от <!DOCTYPE html> до <body> заголовка() будет игнорироваться.

Попробуйте сделать эту проверку, прежде чем вы выводите любой HTML

<?php 
    //Ouverture session 
    session_start(); 

    if(isset($_SESSION['id'])) { 
     header("Location: ../../Index/v/index.php"); 
    } 
?> 
<!DOCTYPE html> 
<html> 

<head> 
    <title>Undbe</title> 
    <meta charset="utf-8" /> 
</head> 

<body> 
<?php 

    if(isset($_COOKIE['login_email']) && isset($_COOKIE['login_pass'])) 
    { 
     // Soon 
    } 

    else 
    { 
?> 
     <h1>Connexion</h1> 

     <form method="post" action="../c/c_connexion.php"> 
      <label for="email">Votre email :</label> <input type="email" name="email" id="email" /><br /> 
      <label for="password">Votre password :</label> <input type="password" name="password" id="password" /></br><br /> 
      <input type="checkbox" name="remember" id="remember" /> <label>Rester connecté.</label> 
      <input type="submit" value="Envoyer" /> 
     </form> 
<?php 
    } 

?> 
</body> 

</html> 
Смежные вопросы