У меня есть несколько переменных $ _SESSION, которые отслеживают, с какой страницы пользователь приходит. Таким образом, я могу сделать сообщения об ошибках более конкретными, и, таким образом, веб-приложение станет более удобным для пользователя. Когда пользователь не приходит с какой-либо страницы, предполагается, что это сообщение приветствуется в верхней части главной страницы. Однако, когда я закрываю браузер и получаю доступ к главной странице, я получаю сообщение, соответствующее странице, с которой я связан до закрытия сеанса. Это моя функция:сеанс не заканчивается, когда браузер закрывается
function come_from($from_page, $updates_occurred) {
$message = "";
if ($updates_occurred == false) {
$message .= "Welcome to the User List.<br/>";
$message .= "Select the user you wish to update, or add a new user. ";
} elseif ($from_page == "edit_user.php") {
$message .= "The user was successfully updated";
} else {
$message .= "The user was successfully added";
}
return $message;
}
В верхней части главной страницы, у меня есть следующий код:
if (isset($_SESSION['updates_occurred'])) {
$updates_occurred = $_SESSION['updates_occurred'];
} else {
$updates_occurred = false;
}
if (isset($_SESSION['come_from'])) {
$come_from = $_SESSION['come_from'];
} else {
$come_from = NULL;
echo "got here";
}
echo come_from($come_from, $updates_occurred);
* updates_occurred просто отслеживает, был ли успешно изменен пользователем/добавленный на предыдущем стр.
Я полагаю, что моя главная проблема: есть ли проблема с тем, как я использую переменные сеанса? Если мое понимание правильное, ожидается, что переменные сеанса истекут, когда браузер закрыт, верно?
упс Я чувствую себя очень грубо: Спасибо всем, заранее! – nv39
Вы закрыли весь браузер (каждая вкладка, каждое окно) или только вкладка? К лучшему или худшему, файлы cookie сеанса продолжают жить в большинстве (всех?) Браузеров, в то время как есть какие-либо вкладки/окна открыты, вам нужно закрыть все, чтобы уничтожить их. – DaveRandom
Отлично, это была проблема. Спасибо :-) – nv39