注销codeigniter 3

时间:2016-12-16 15:30:05

标签: php codeigniter-3

我有这个登录验证:

        public function login_validation() {

            $this->load->library('form_validation');

            $this->form_validation->set_rules('email','Email',
            'required|trim|callback_validate_credentials');
            $this->form_validation->set_rules('password','Password','required|md5|trim');

            if ($this->form_validation->run()){
                $data= array(
                    'email'=> $this->input->post('email'),
                    'is_logged_in' => true
                );
                $this->session->set_userdata($data);
                redirect('Pag');
            }else {
                $this->load->view('login');
            }
            }

此重定向:

        public function members() {
            if($this->session->userdata('is_logged_in')){
                redirect('Pag');
            }else{
                redirect('main/restricted');
            }  
            }

然后退出:

        public function logout() {
            $this->session->unset_userdata('is_logged_in');
            $this->session->sess_destroy();
            redirect('main/login');
        }

但是当我从我的页面按Logout时,我将被重定向到登录选项卡,但是如果我使用/ Pag写入URL路由,我将再次访问该站点(无需输入凭据),我认为sess_destroy实际上并没有破坏我的会话。

1 个答案:

答案 0 :(得分:0)

  1. 请确保您正在/ Page
  2. 查看会话
  3. 某些服务器存在问题(使用www和withought www注销)。您需要使用301重定向。我这样做了 在您的.htaccess文件中输入此代码

    RewriteEngine On RewriteCond%{SERVER_PORT} 80 RewriteRule ^(。*)$ https://www.example.com/ $ 1 [R,L]