ie8会话问题

时间:2011-05-23 12:13:15

标签: php session internet-explorer-8

session_start();
//If user was logged in then returns true,
//if user was NOT logged in then it returns false;
//except on ie8 this returns ALWAYS false, and never true
var_dump($this->user->is_logged_in());

$_POST['username'] = 'test';//username = test
$_POST['password'] = 'test';//pass     = test
var_dump($this->user->login());//bool //true/
var_dump($this->user->is_logged_in());//bool true
die();

这是我在脚本上调试脚本并找出问题所在的地方... 问题是,在“ie8 only”上,会话似乎不会停留,并且每次请求都会一直删除。

我还应该提到b4此代码有ob_start()

这让我很生气:(帮助任何人? 如果需要更多信息,我会添加它们。

1 个答案:

答案 0 :(得分:1)

要检查的一些事项:

您是否在回复中发送了正确的P3P标题?

如果您没有发送P3P标头,IE似乎在Internet区域网站上存在Cookie问题。您应该在每个回复中发送类似的内容:

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"

另见:http://msdn.microsoft.com/en-us/library/ms537343(v=VS.85).aspx

它是否适用于其他兼容模式?

除非X-UA-Compatible标题设置为IE=EmulateIE7,否则IE8会出现Cookie问题,但您的里程可能会有所不同。