PHP-сессия, похоже, не работает
-
20-08-2019 - |
Вопрос
Переменные сеанса, по-видимому, у меня не работают.Я не знаю, что я делаю не так.Это код, который я использую для проверки правильности пароля:
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.
Что я делаю не так?
Решение
Ты знаешь, что ты должен написать session_start()
прежде чем вы воспользуетесь $_SESSION
переменная в любом запросе, верно?Похоже, ты нигде этого не вставлял index.php .
Другие советы
Session_start() Начало сеанса();должен быть помещен перед любым заголовком, который будет отправлен, напримерперед любым HTML-тегом в php-файле.
Я только что вернулся с починки этого ... добавил session_start()
прямо в верхней части файла - даже до того, как <html>
пометка.Делая session_start()
в середине выдает ошибки ... не знаю почему.Я новичок в этом.Однако спасибо за ваш быстрый ответ.