CodeIgniter中的注销问题

时间:2014-06-12 05:29:22

标签: php codeigniter session cookies

我在使用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;
    }

3 个答案:

答案 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');