2014-01-08 63 views
2

會不會從這個破壞,這是我的控制器文件blog.php的控制器博客和功能登錄

parent::__construct(); 
    $this->load->helper(array('form', 'url')); 
    $this->load->library('session'); 
    $this->load->library('form_validation'); 
    $this->load->model('register/blogmodel'); 
} 
function login(){ 
    $this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[25]'); 
    $this->form_validation->set_rules('password', 'Password', 'required'); 
    if ($this->form_validation->run() == FALSE){ 
    $this->load->view('Login/login'); 
       } 
    else{ 
    $result = $this->blogmodel->validate(); 
    if(! $result){ 
     // If user did not validate, then show them login page again 
    $data['msg'] = "Invalid username and/or password."; 
    $this->load->view('Login/login',$data); 
       } 
        else{ 
        redirect('blog/home', 'refresh'); 
         }   
         } 

這是我的註銷功能

function logout(){ 

    $user_data = $this->session->all_userdata(); 
    foreach ($user_data as $key => $value) { 
     if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key  != 'last_activity') { 
      $this->session->unset_userdata($key); 
     } 
    } 
    $this->session->sess_destroy(); 
    redirect('/blog/index'); 
} 

回答

1

請檢查您的登錄()和註銷()功能在同一控制器中或不在同一控制器中,如果它是同一控制器,那麼下面兩行代碼是註銷並清除所有會話數據的權利

$this->session->sess_destroy(); 
redirect('/blog/index'); 

如果登錄()和註銷()函數是在不能在同一個控制器,那麼你需要開始在註銷功能一行

$this->load->library('session'); 
$this->session->sess_destroy(); 
redirect('/blog/index'); 

我認爲這可能是工作,如果其他不受影響

+0

與此會話不銷燬,每當我點擊任何鏈接新會話ID創建沒有用戶數據在每個鏈接新會話創建 – user3172683