注销时不会破坏会话

时间:2013-06-26 10:13:20

标签: php codeigniter-2

我希望会话销毁注销,但它们无法正常运行。

CONTROLLER

public function logout(){
            $this->session->ses_destroy();
            redirect('users/index');
        }

查看

<ul class="dropdown-menu">
   <li><a href="javascript:;">My Profile</a></li>
   <li><a href="javascript:;">My Groups</a></li>
   <li class="divider"></li>
   <li><a href="<?php echo base_url().'Users/logout' ?>">Logout</a></li>
</ul>

RESULT

Fatal error: Call to undefined method CI_Session::ses_destroy()

5 个答案:

答案 0 :(得分:1)

你有错字。根据{{​​3}},销毁会话的方法是sess_destroy,而不是ses_destroy

答案 1 :(得分:0)

错误存在sess_destroy

public function logout(){
            $this->session->sess_destroy();
            redirect('users/index');
        }

答案 2 :(得分:0)

因为你的控制器中有一些拼写错误。

$this->session->ses_destroy(); replace $this->session->sess_destroy();

正确阅读句子 链接是:http://ellislab.com/codeigniter/user-guide/libraries/sessions.html 检查此链接。

答案 3 :(得分:0)

你的控制器中有一个拼写错误。
$ this-&gt; session-&gt; sess_destroy()
而不是
$这 - &GT;会话而&GT; ses_destroy()

请检查以下示例以避免您的混淆:


    class Home extends CI_Controller
    {
        function __construct()
        {
            parent::__construct();
            //this condition checks the existence of session if user is not accessing  
            //login method as it can be accessed without user session
            if( !$this->session->userdata('logged_in') && $this->router->method != 'login' ) {
                redirect('login'); 
            }
        }
        function index()
        {
            $session_data = $this->session->userdata('logged_in');
            $data['email'] = $session_data['email'];
            $this->load->view('home_view', $data);
            $this->load->view('home_content_view', $data);
        }

        function logout()
        {
            $this->session->userdata = array();
            $this->session->sess_destroy();
            redirect('home', 'refresh');
        }
    }

答案 4 :(得分:0)

这样做,

首先在您的会话中存储用户名和密码详细信息

 $this->session->set_userdata($this->data);

然后对于会话销毁使用此代码,

    public function logout(){
    $this->session->sess_destroy();
    redirect(base_url().''); 
    }