【发布时间】:2016-06-02 13:36:33
【问题描述】:
我认为它应该是特定于服务器端的,这不应该引入依赖于浏览器的不同行为。
以下代码在 Firefox 中计算结果为 null,而它具有稍后处理到表中的数据。
$History = (isset($_SESSION['History']) ? $_SESSION['History'] : null);
就像我做的一个快速测试
printf( "<p>Variable history%s", $History);
在 Firefox 中返回以下内容:
Notice: Array to string conversion in /website/History.php on line 92
Variable historyArray
虽然在 chrome 中它只是明显地返回 null:
Variable history
为了澄清,我没有问题变量是一个数组(也就是说,上面只是一个调试类型测试)我有一个变量为空的问题。它仅在私有模式下在 Firefox 中可重现,但我不明白为什么在启用 cookie 时正常模式下的 chrome 有差异。
最初我使用的是 (!isset($_SESSION)) session_start();但使用那个或 session_start();不会改变这个结果。
【问题讨论】:
-
您是否在 Chrome 中禁用了 cookie?
-
在你的 chrome 中启用 cookie 然后它就可以工作了
-
cookies 已启用
-
做
var_dump($history)看看会发生什么......它说你正在尝试将数组转换为字符串。如果数组中有超过 1 个索引,它可能会使 prinf 失败。 var_dump 将准确地告诉您从$history返回的内容 -
这段代码错误删除
if(!isset($SESSION))应该只是session_start()
标签: javascript php google-chrome firefox