All
Этот вопрос, вероятно, имеет очень простой ответ - то, что я пропускаю. Но, может быть, кто-то может сказать мне, где искать ...
У меня есть страница PHP («index.php») с очень простой формой входа (например, имя пользователя и пароль).
Когда пользователь нажимает кнопку «Отправить», форма отправляет значения на другую страницу PHP («login.php»). Эта страница должна подтвердить учетные данные пользователя, а затем сделать следующее:
- Если учетные данные пользователя не указаны
правильно, перенаправить пользователя на
error.php вместе с ошибкой
Сообщение
- Если учетные данные пользователя являются
исправить, создать сеанс и установить $ _SESSION ['authenticated'] = true, а затем перенаправить его в «loggedin.php»
[UPDATE]
Затем в loggedin.php я проверяю, что isset ($ _ SESSION ['authenticated]]) возвращает true. Если это так, тогда продолжайте. Если нет, перенаправьте пользователя обратно на index.php.
Однако вот что происходит. FIRST время, когда я заполняю форму (с действительными кредитами) и отправляю ее, я могу кратко увидеть в строке URL, что пользователь отправляется в login.php, затем loggedin.php, но затем НАЗАД в index.php.
Но, если я повторно введу те же самые учетные данные и отправлю информацию в SECOND раз, все будет работать точно так, как и должно.
Короче говоря, похоже, что либо login.php не устанавливает переменную $ _SESSION с первого раза, либо она не установлена, но по какой-то причине она не устанавливается, когда я проверяю ее впервые при входе в систему. .php
Существует ли некоторая задержка между установкой переменной в login.php и возвращением isset () значения true в loggedin.php?
Или, я что-то не так делаю?
Вот соответствующие (я думаю) фрагменты кода:
В login.php:
session_start();
$_SESSION['authenticated'] = true;
header('Location: http://www.mydomain.com/loggedin.php');
В loggedin.php:
session_start();
$authenticated = $_SESSION['authenticated'];
if (!isset($authenticated)) {
header('Location: http://www.footballpoolz.com/mobile/index.php');
die();
}
Заранее большое спасибо за любые советы или идеи!
Ура,
Мэтт Стюлер