codeigniter - $this->session->unset_userdata not working? -
so have login method:
public function login(){ $this->form_validation->set_rules('username','username','trim|required|min_length[4]|xss_clean'); $this->form_validation->set_rules('password','username','trim|required|min_length[4]|xss_clean'); if($this->form_validation->run()== false) { //loading view $this->load->view('admin/layouts/login'); $username = $this->input->post('username'); $password = $this->input->post('password'); //validate username & password $user_id = $this->authenticate_model->login($username, $password); if($user_id){ $user_data = array( 'user_id' => $user_id, 'username' => $username, 'logged_in' => true ); //set session userdata $this->session->set_userdata($user_data); } else { //set message $this->session->set_flashdata('pass_login', 'you logged in'); redirect('admin/dashboard'); } } }
and use simple method logout:
public function logout(){ //unset user data $this->session->unset_userdata('user_id'); $this->session->unset_userdata('username'); $this->session->unset_userdata('logged_in'); $this->session->sess_destroy(); redirect('admin/authenticate/login'); }
so i'm unsetting sessions userdata
, redirecting login controller. , happens is, when redirect login page, automatically login again, if session data still valid , present. why it's happening?
you try
unset($this->session->userdata('user_id')); unset($this->session->userdata('logged_in')); unset($this->session->userdata('username'));
or have
$this->session->sess_destroy();
make sure session library auto loaded , have configured settings depending on version of codeigniter
Comments
Post a Comment