我在使用CI框架注销时遇到问题。当我退出&按退格键按钮,然后它将带我登录页面。
我需要在注销后手动刷新以销毁会话。
如果有人知道,请帮帮我。
以下是退出代码:
function logout() {
//pr($this->session->userdata[$this->section_name]);
//exit;
$lng = (isset($this->session->userdata[$this->section_name]['site_lang_code']) && $this->session->userdata[$this->section_name]['site_lang_code'] != "") ? $this->session->userdata[$this->section_name]['site_lang_code'] : 'es';
if (isset($this->session->userdata[$this->section_name]['social_login']) && $this->session->userdata[$this->section_name]['social_login'] == 1) {
$this->SocialLogout($this->session->userdata[$this->section_name]['socialgateway']);
}
$this->session->unset_userdata($this->section_name);
redirect(site_url($lng));
exit;
}
答案 0 :(得分:1)
这必须是缓存控制意味着浏览器缓存。我不认为重定向会有所帮助。如果需要任何缓存,你应该禁用它并使用CodeIgniters缓存库。
将以下内容添加到需要登录用户的页面中:
//Prevent browsers from using history to browse in the user system.
$this->CI->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->CI->output->set_header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
$this->CI->output->set_header("Pragma: no-cache");
在浏览器中按回时,页面将被刷新。
答案 1 :(得分:1)
$this->session->sess_destroy();
redirect("controller/");
答案 2 :(得分:0)
注销后使用redirect()
转到主/主页!
$this->session->unset_userdata('login');
redirect('mainController/index', 'refresh');