0 php session-variables register-globals
问题:在下面的代码中,当我从sandbox1页面移动到sandbox2时,$ _SESSION [page_name]的新值不会被传递并恢复为index的初始值.如果在进入页面后我重新加载页面,新值似乎神奇地显示出来.代码有问题吗?你能解释为什么$ _SESSION的新值没有传播吗?
Page index.php
<?php
session_start();
$_SESSION['page']="index";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
Run Code Online (Sandbox Code Playgroud)
页面sandbox1.php
<?php
session_start();
echo "From page: ".$_SESSION['page']."<br>";
$_SESSION['page']="Sandbox1";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
Run Code Online (Sandbox Code Playgroud)
页面sandbox2.php
<?php
session_start();
echo "From page: ".$_SESSION['page']."<br>";
$_SESSION['page']="Sandbox2";
echo "This page: ".$_SESSION['page']."<br><br>";
?>
Run Code Online (Sandbox Code Playgroud)
在加载index.php时,它输出:
本页:索引
正如所料.
从index.php到Sandbox1输出的超链接
来自页面:索引
本页面:Sandbox1
(新值$_SESSION['page'])如预期.
从Sandbox1到Sandbox2输出的超链接:
来自页面:索引
($_SESSION恢复到价值指数)预计会看到
来自页面:sandbox1
本页面:Sandbox2
(新值)如预期.
附加信息PHP版本5.3.注册全局设置为"OFF"
在sandbox1和sandbox 2上,移动session_start()到读取的行上方
echo "From page: ".$_SESSION['page']."<br>";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |