2013-06-26 189 views
0

我想会话销毁注销但它们无法正常工作。注销时未销毁会话

CONTROLLER

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

VIEW

<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() 
+1

sess_destroy不ses_destroy – Anigel

回答

0

错字错误存在sess_destroy

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

你在控制器中有拼写错误。 $这 - >会话级> sess_destroy而不是
()

$这个 - >会话级> 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'); 
     } 
    } 

0

这样做,

首先在你的会话中存储这样的用户名和密码的细节

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

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

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