我在使用 Codeigniter 和 Internet Explorer 时遇到了很大的麻烦。
请查看示例页面
在过去的几天里,这是一件非常简单的事情困扰着我。
通过按下登录按钮,我什么也不做,只是调用一个函数 start()
public function start()
{
setcookie('loginstatus', TRUE, time()+7200); // setting a cookie
redirect('stream', 'location'); // redirecting to the index controller
}
在索引函数中,我执行以下操作:
public function index()
{
if ($this->isuserloggedin() == TRUE)
{
echo "The user is already logged in";
$this->load->view("v_stream_start");
} else {
echo "The user still has to login";
$this->load->view("v_stream_login");
}
}
这是我检查现有 cookie 的 userisloggedin() 方法:
public function isuserloggedin() {
if (isset($_COOKIE['loginstatus'])) {
return TRUE;
} else {
return FALSE;
}
}
请检查 IE 与 FF/Safari/Chrome。它适用于除 IE 之外的所有浏览器,我不知道为什么。
一切都按预期运行,直到我调用 redirect() 方法 - 之后 IE 不知何故无法检索 cookie,而所有其他浏览器都可以。
我已经尝试将 ci_session 更改为 ci_session 并检查了准确的服务器时间。
非常感谢您提供的任何帮助。