【发布时间】:2018-04-14 10:36:21
【问题描述】:
如果我的带有会话的登录控制器是这样的,我该如何创建注销按钮?
function login_user() {
$user_login = array(
'username'=>$this->input->post('username'),
'password'=>$this->input->post('password')
);
$data=$this->Infoserbilis_model->login_user($user_login['username'],$user_login['password']);
if($data) {
$session_data['logged_in'] = TRUE;
$this->session->set_userdata($session_data);
//$this->session->set_userdata('logged_in', $session_data);
redirect('Infoserbilis/admin_page', 'refresh');
} else {
echo '<script>alert("Invalid Username or Password");</script>';
redirect('Infoserbilis/index', 'refresh');
}
}
我在函数注销时尝试了$this->session->sess_destroy();,但无济于事。提前致谢
public function logout() {
// Removing session data
$this->session->sess_destroy();
echo '<script>alert("Bye!");</script>';
redirect('Infoserbilis/index', 'refresh');
}
【问题讨论】:
-
尝试
sess_destroy时的错误信息是什么 -
没有错误。它只是停留在我的管理页面上。不注销。感谢您的回复。
-
sess_destroy只是破坏当前会话,无法为您重定向页面,您需要手动重定向页面,请参阅我的答案。 @jb 纳隆 -
我的注销代码已重定向。但仍然无济于事。抱歉,我没有包括我的注销控制器。
-
logout()重定向到“Infoserbilis/index”,这是管理页面...对吗?你真的希望它去哪里?将该控制器/方法放入redirect()调用中。
标签: php codeigniter session logout