我一直在查看在 PHP 4 服务器上运行的脚本中的问题(我知道......他们正在升级,但他们需要修复仍在 PHP 4 上的服务器。)
我在下一页开始时将会话变量重置为不同的值时遇到问题。这是我为达到这一点而进行的测试,现在我不确定发生了什么。
页面结构:main.php -> 首先调用 start_page.inc。main.php -> 最后调用 footer.inc。
这是正在发生的步骤以及我无法弄清楚的步骤:
start_page.inc: echos 'test2'
(起始页打印出 的值$_SESSION['test']
)
default.php: echos 'test2'
(default.php 打印出 的值$_SESSION['test']
)
default.php: SET 'test2'
(default.php 将值设置$_SESSION['test']
为test2
)
footer.inc: SET 'test'
(footer.inc 将值设置$_SESSION['test']
为test
)
footer.inc: echos 'test'
(footer.inc 打印出 的值$_SESSION['test']
)
无论我刷新页面多少次,它总是以这种方式出现,只有一个例外。第一次设置会话变量时,它test
会在下一次刷新时回显。
任何人都了解为什么/如何发生这种情况以及我如何解决这个问题?我在 PHP 5 服务器上测试了这些文件,实际上得到了相同的结果。
前两个回声应该始终是test
,除非我遗漏了什么。
我已经尝试将其剥离到没有附加值的测试页面,并且似乎无法重现它......测试变量没有被覆盖。我专门为此测试创建了它。