Переменные сеанса, видимо, не работают для меня. Я не знаю, что я делаю неправильно. Это код, который я использую для проверки действительного пароля:
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()
в середине дает ошибки … не знаю почему. Я новичок в этом. Спасибо за ваш быстрый ответ.