【发布时间】:2013-12-15 17:45:43
【问题描述】:
我正在尝试使用 PHP 设置会话变量,该变量用于设置在 PHP 中预加载的选择框值。我的会话代码是:
session_start();
echo "test";
echo $_SESSION['accountMain']; //For session test
if(isset($_POST["accountMain"]))
{
$account = $_POST["accountMain"];
$_SESSION['accountMain'] = $account;
session_write_close();
}
else if(isset($_SESSION['accountMain']))
{
$account = $_SESSION['accountMain'];
}
else
{
$account = "AMX";
}
在 Chrome 和 Firefox 上一切都很好,我可以看到 $_SESSION['accountMain'] 正在打印并且选择框正在由会话变量设置。但是在 IE8 上,会话变量没有被打印出来。
我浏览了整个网络领域,找到了一些关于它的信息,并在此基础上进行了以下更改:
首先,我更改了我的网页文件名并从中删除了_,因为我读到它会导致 IE8 和会话出现问题。
其次,我已将此添加到我的代码中:
<?php
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
?>
我还添加了session_write_close();
在我的 IE8 安全设置中,我已取消选中所有区域的 已启用保护模式,并且在 隐私设置中我设置为始终允许会话 cookie并接受所有来源的 cookie。
但是,会话变量仍然没有被打印出来。
我错过了什么?
【问题讨论】:
-
我认为你应该试试这个并检查你的浏览器 echo 'Testing '.$_SESSION['accountMain'];
-
检查这是否对您有帮助 stackoverflow.com/questions/7209257/…
-
@TasosBitsios 谢谢,但也没有用:(
-
以某种方式检查您的 cookie...如果您没有调试工具,像
alert(document.cookie);这样的 javascript sn-p 就可以了 -
@TasosBitsios 我在 IE8 上一无所获。在 Chrom 上,我确实收到了
PHPSESSID。
标签: php internet-explorer session internet-explorer-8