Php 具有$\u会话的参数无效
我正在测试一个为我的一个客户创建的小wordpress插件,我在测试的一台计算机上遇到了一个问题。我想它可能没有保存Php 具有$\u会话的参数无效,php,wordpress,session-variables,Php,Wordpress,Session Variables,我正在测试一个为我的一个客户创建的小wordpress插件,我在测试的一台计算机上遇到了一个问题。我想它可能没有保存$\u会话数据 它为这个foreach() 奇怪的是,它在我的台式机和笔记本电脑上都能工作,但在我测试的第二台台式机上却不能 基本上,foreach()所做的就是从上一页获取$\u SESSION信息,然后将其转换为当前页的新变量。您的SESSION变量$\u SESSION['page-1']似乎不是数组。 只需在进入foreach之前检查: if (is_array($_SES
$\u会话
数据
它为这个foreach()
奇怪的是,它在我的台式机和笔记本电脑上都能工作,但在我测试的第二台台式机上却不能
基本上,
foreach()
所做的就是从上一页获取$\u SESSION
信息,然后将其转换为当前页的新变量。您的SESSION变量$\u SESSION['page-1']
似乎不是数组。
只需在进入foreach之前检查:
if (is_array($_SESSION['page-1'])) {
foreach (...) {
...
}
}
它可以是以下任一项:
- 您没有在任何地方将
设置为数组,而是将其设置为任何其他类型$\u会话['page-1']
- 您忘记启动会话(使用
),或者您的脚本中存在逻辑错误,导致session\u start
在某个点未设置或未设置,因此导致$\u session['page-1']
触发错误foreach(NULL as…
session_start();
每次尝试获取或设置会话变量时。否则,您只是在设置或检索一个未定义的变量。脚本开头的Session_start()?是的。就像我说的,它可以在多个浏览器和多台计算机上正常工作,只是不能在一台计算机上运行一个浏览器。奇怪的是…这将消除错误消息-但错误消息是敌人,还是错误本身?是的,这将消除错误消息,但没有数组数据,脚本无法继续。有趣的是它在第二台桌面上的FireFox上执行,而不是在Internet Explorer上执行?是否可能是浏览器设置禁用$\u会话?我不认为这是因为其他网站功能正常…@CoryNickerson,与其禁用会话,还不如禁用cookies。检查
启用cookies
选项。一定是这样。(会话ID存储为cookie)。您知道我可以在浏览器中的何处检查cookie设置吗?
session_start();