我开始在我的项目中使用codeigniter。我的网站有用户身份验证系统。我已经在nettuts上看到了用于登录信息的视频。我很困惑为什么注销不能正常工作。
我的登录控制器中有以下注销功能。
function logout() {
$this->session->sess_destroy();
redirect('main');
}
如果我点击退出按钮,我将用户重定向到主页面。但是在将用户重定向到主页面后,如果单击浏览器上的后退按钮,我将在页面顶部看到注销和我的名字。我需要一些关于我出错的地方的帮助,或者我的控制器中缺少任何重要的代码
提前致谢
修改
我想我找到了解决方案。我应该将以下代码附加到适当的控制器
中$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");
答案 0 :(得分:3)
我认为这是一个浏览器缓存问题。如果单击后退,则实际上是在看到缓存页面,就像您登录时的那样。
在返回之前的注销页面后尝试并按F5。它现在应该显示您已退出。
答案 1 :(得分:3)
向我的主构造函数添加标题解决了IE7的问题:
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");