问题:在下面的代码中,当我从页面从 sandbox1 移动到 sandbox2 时,$_SESSION[page_name] 的新值没有被传递并恢复为 index 的初始值。如果进入页面后我重新加载页面,新值似乎神奇地出现了。代码有问题吗?你能解释一下为什么 $_SESSION 的新值没有传播吗?
页面索引.php
<?php
session_start();
$_SESSION['page']="index";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
页面 sandbox1.php
<?php
session_start();
echo "From page: ".$_SESSION['page']."<br>";
$_SESSION['page']="Sandbox1";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
页面 sandbox2.php
<?php
session_start();
echo "From page: ".$_SESSION['page']."<br>";
$_SESSION['page']="Sandbox2";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
在加载 index.php 时,它输出:
本页:索引
正如预期的那样。
从 index.php 到 Sandbox1 输出的超链接
从页面:索引
本页:沙盒1
(新值$_SESSION['page'])如预期的那样。
从 Sandbox1 到 Sandbox2 输出的超链接:
从页面:索引
($_SESSION恢复为价值指数)预计会看到
从页面:sandbox1
本页:沙盒2
(新值)符合预期。
附加信息 PHP 5.3 版。寄存器全局设置为“OFF”