Содержимое переменной сеанса и кнопка возврата - PullRequest
0 голосов
/ 29 августа 2011

Я на первой странице серии страниц и сохраняю некоторые данные в сеансе.Теперь я щелкаю ссылку на странице 1 и перехожу на страницу 2. Я снова сохраняю некоторые данные в той же переменной Session.Я делаю это еще несколько раз, сохраняя данные в той же переменной Session.Теперь я нажимаю кнопку «Назад» несколько раз, чтобы вернуться на предыдущую страницу серии.Какие данные будут существовать в переменной Session?Данные, сохраненные с последней страницы серии или данные со страницы, на которой я сейчас сижу, с помощью кнопки «Назад».

Ответы [ 4 ]

2 голосов
/ 29 августа 2011

Все данные, сохраненные в сеансе, остаются в переменной сеанса, пока вы либо не удалите их, либо сеанс не истечет.Back / forward / etc в сеансе не влияет на содержимое переменных сеанса - если, конечно, загружая страницу, вы меняете содержимое этих переменных.

1 голос
/ 29 августа 2011

Попробуйте: (при условии, что вы используете 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'] имеет значение, которое по-прежнему имеет значение, которое вы установили.

0 голосов
/ 29 августа 2011

Какие данные будут существовать в переменной Session?

Какие бы данные вы ни помещали туда, пока вы не перезапишете (или не удалите их), или сеанс не истечет.Независимо от того, что пользователь делает со своим браузером или как он перемещается с одной страницы на другую, сеанс не контролируется пользователем / браузером.Это контролируется вашим кодом на стороне сервера.

Если пользователь выполняет запрос для страницы 4 после выполнения запроса для страницы 5, то что происходит со значениями сеанса, полностью зависит от вас.Если ваш код на странице 4 предполагает, что пользователь пришел со страницы 3, и обновляет значения сеанса, чтобы указать, что он находится на странице 4, то значения сеанса обновляются.Если ваш код проверяет наличие более позднего состояния в значениях сеанса и сохраняет это состояние, то значения сеанса не обновляются.

Как вы хотите, чтобы это работало, зависит только от вас.

0 голосов
/ 29 августа 2011

Я предполагаю, что вы говорите о PHP - если это так, то данные, сохраненные в $ _SESSION, не изменяются при нажатии на другую страницу, так как данные сеанса хранятся на сервере. Короче говоря: у вас всегда будут последние сохраненные данные в сеансе, независимо от навигации.

...