我一直在使用PHP会话在一个网站上我正在建设,它一直工作良好,直到奇怪的今天早上:
一页一页
session_start();
$_SESSION['myarray']=$myarray;
然后在第二页我尝试:
session_start();
print_r($_SESSION['myarray']);
显示的是一个空数组。
我已经检查了第1页,数组中有值。
有什么想法来寻找这个调试?
谢谢。
(SOLVED):最终解决了这个问题——该行必须位于使用任何会话变量的每个页面的最顶部——字面上的第1行!
检查您的php设置是否有'register_globals = On'。我认为情况就是这样。当你在php设置中设置了register_globals时,它会处理
$_SESSION['myarray']与$myarray相同。
解决方案是在php中禁用register_globals,因为它在新版本中已被弃用。否则,在$_SESSION变量中使用不同的键名或将$myarray变量更改为不同的名称。