0

我一直在我正在构建的网站上使用 PHP 会话,它一直运行良好,直到今天早上奇怪:

一页一:

session_start();
$_SESSION['myarray']=$myarray;

然后在第二页我尝试:

session_start();
print_r($_SESSION['myarray']);

但是它显示一个空数组。

我已经检查了第 1 页,并且该数组中有值。

关于寻找什么来调试这个的任何想法?

谢谢。

(已解决):最终解决了问题-该行必须位于使用任何会话变量的每个页面的最顶部-实际上是第 1 行!

4

1 回答 1

0

检查您的 php 设置中是否有“register_globals = On”。我认为情况就是这样。当您在 php 设置上设置了 register_globals 时,它将处理

$_SESSION['myarray'] 和 $myarray 一样。

解决方案是禁用 php 中的 register_globals,因为它在较新版本中已弃用。否则在 $_SESSION 变量中使用不同的键名或将 $myarray 变量更改为不同的名称。

于 2013-03-22T15:16:13.587 回答