我在一系列页面的第1页上,并将一些数据保存到Session。我现在单击第1页上的链接并转到第2页。我再次将一些数据保存到同一个Session变量中。我这样做了几次,将数据保存到同一个Session变量。我现在单击后退按钮几次返回到系列中的上一页。 Session变量中将存在哪些数据?从系列的最后一页保存的数据或我现在使用后退按钮的页面中的数据。
答案 0 :(得分:2)
保存到会话的所有数据都保留在会话变量中,直到您将其删除或会话过期为止。会话中的后退/前进/等不会影响会话变量的内容 - 除非通过加载页面来改变这些变量的内容。
答案 1 :(得分:1)
尝试一下:(假设你使用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']
的值仍然具有您设置的值。
答案 2 :(得分:0)
我假设您正在谈论PHP - 如果是这样,那么保存在$ _SESSION中的数据在按下去不同的页面时不会改变,因为会话数据保留在服务器上。 简而言之:无论导航如何,您都将在会话中始终保存最后保存的数据。
答案 3 :(得分:0)
Session变量中将存在哪些数据?
无论您将数据覆盖(或删除)还是会话过期,您都会放置任何数据。无论用户使用他们的浏览器做什么或者他们如何从一个页面移动到另一个页面,会话都不受用户/浏览器的控制。它由服务器端代码控制。
如果用户在执行了请求之后执行了请求,那么会话值的变化完全取决于您。如果第4页上的代码假定用户来自第3页并更新会话值以指示处于第4页,那么会话值将更新。如果您的代码在会话值中检查以后的状态并保留该状态,则会话值不会更新。
完全取决于您希望如何使用它。