PHP сессия, похоже, не работает - PullRequest
3 голосов
/ 29 января 2009

Переменные сессии, по-видимому, не работают для меня. Я не знаю, что я делаю не так. Это код, который я использую для проверки действительного пароля:

if ($input_password_hash == $password_hash)
 {
  session_start();
  $_SESSION['is_user'] = 1;
  header("Location: ../new_look"); //or Location: index.php
 }
else echo "Wrong password.";

в файле index.php (куда он перенаправляет), у меня есть этот код:

if ($_SESSION['is_user'] == 1)
{
  //show index page with navigation bar for registered user
}

else
{
 //do something else
}

но он вообще не работает.

Сеанс, очевидно, начинается, и это можно проверить, проверив cookie.

Что я делаю не так?

Ответы [ 3 ]

5 голосов
/ 29 января 2009

Вы знаете, что вам нужно написать session_start(), прежде чем использовать переменную $_SESSION в любом запросе, верно? Похоже, вы нигде не поместили его в index.php.

2 голосов
/ 29 ноября 2010

session_start (); должен быть помещен перед любым заголовком, который будет отправлен, например перед любым HTML-тегом в файле php.

1 голос
/ 29 января 2009

Я только что вернулся с исправления этого ... добавленного session_start() прямо вверху файла - даже до тега <html>. Выполнение session_start() в середине приводит к ошибкам ... не знаю почему. Я новичок в этом. Спасибо за ваш быстрый ответ.

...