Я нахожусь на странице 1 серии страниц и сохраняю некоторые данные в Session. Теперь я щелкаю ссылку на странице 1 и перехожу на страницу 2. Я снова сохраняю некоторые данные в ту же переменную сеанса. Я делаю это еще несколько раз, сохраняя данные в одну и ту же переменную Session. Теперь я несколько раз нажимаю кнопку «Назад», возвращаясь на предыдущую страницу серии. Какие данные будут находиться в переменной Session? Данные, сохраненные с последней страницы в серии, или данные со страницы, на которой я сейчас сижу, с помощью кнопки «Назад».
Содержимое переменной сеанса и кнопка «Назад»
Ответы (4)
Все данные, сохраненные в сеансе, остаются в переменной сеанса до тех пор, пока вы не удалите их или пока сеанс не истечет. Назад/вперед/и т. д. в сеансе не влияет на содержимое переменных сеанса - если, конечно, при загрузке страницы вы не изменяете содержимое этих переменных.
Попробуйте: (при условии, что вы используете php)
page1.php :
<?php
session_start();
$_SESSION['page1'] = 'from page1';
var_dump($_SESSION['page1']);
var_dump($_SESSION['page2']);
?>
<br /><a href="page2.php">page 2</a>
page2.php :
<?php
session_start();
$_SESSION['page2'] = 'from page2';
var_dump($_SESSION['page1']);
var_dump($_SESSION['page2']);
Перейдите на страницу1, нажмите ссылку на страницу2, нажмите назад. Вы увидите, что $_SESSION['page2']
имеет значение, которое вы установили.
Я предполагаю, что вы говорите о PHP - если это так, то данные, сохраненные в $_SESSION, не меняются при переходе на другую страницу, поскольку данные сеанса хранятся на сервере. Короче говоря: у вас всегда будут последние сохраненные данные в сеансе, независимо от навигации.
Какие данные будут находиться в переменной Session?
Какие бы данные вы туда ни помещали, пока вы их не перезапишете (или не удалите) или пока не истечет срок действия сеанса. Независимо от того, что пользователь делает со своим браузером или как он переходит с одной страницы на другую, сеанс не контролируется пользователем/браузером. Он контролируется вашим кодом на стороне сервера.
Если пользователь выполняет запрос на страницу 4 после выполнения запроса на страницу 5, то, что произойдет со значениями сеанса, полностью зависит от вас. Если ваш код на странице 4 предполагает, что пользователь пришел со страницы 3, и обновляет значения сеанса, чтобы указать, что он находится на странице 4, тогда значения сеанса обновляются. Если ваш код проверяет более позднее состояние в значениях сеанса и сохраняет это состояние, значения сеанса не обновляются.
Это полностью зависит от вас, как вы хотите, чтобы это работало.