baiyuxiong 发表于 2010-3-18 11:35:05

不同浏览器逻辑结果竞然不一样……

本帖最后由 baiyuxiong 于 2010-4-30 18:58 编辑

我做一个切换所在城市的功能,通过$this->session->userdata('current_citycode')来保存用户选择的城市。
在FF和chrome下正常。
可是在IE下,刷新页面后,$this->session->userdata('current_citycode')就成FALSE了!


还有一个问题,登录后切换到登录前的页面的功能,我在login控制器里:

//controller user


function login()
{

if (FALSE == $this->session->userdata('history_page'))

{

$this->session->set_userdata('history_page', $_SERVER['HTTP_REFERER']);;

}
//表单验证部分
$this->load->helper('form');


//...
//跳转部分
if ($this->access_library->is_logged_in())

{

$this->Members_model->LastLoggedIn();


if ($this->session->userdata('history_page')) {


echo "<script language='javascript'>";

echo "location='".$this->session->userdata('history_page')."';";

echo "</script>";

$this->session->unset_userdata('history_page');

}

else

{

redirect('','refresh');

}

}


}


第一次进入login函数时,没有问题,但是当提交表单交给login验证的时候,就提示
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_REFERER
Filename: controllers/user.php
Line Number: 16



这是什么原因啊!我只知道浏览器会引起UI变化,没想到,不同的浏览器,逻辑也不一样了……

baiyuxiong 发表于 2010-3-18 11:37:56

发现在IE下面,只要刷新一下页面,SESSION就失效了……

baiyuxiong 发表于 2010-3-18 11:42:53

我已经用了KNDB_Session,而且把系统library下的session.php重命名了

baiyuxiong 发表于 2010-3-18 13:29:56

我知道为什么了。
奇怪的原因,代码中的一句话;
<LINK rel="shortcut icon" href="#">
就这句话导致SESSION丢失,不知道为什么,可能是IE的bug吧。
我把这句话去掉后session就好了。
页: [1]
查看完整版本: 不同浏览器逻辑结果竞然不一样……