我需要将用户注销,并在特定情况下向他们发送带有flashdata的消息。我尝试了以下代码,但似乎会话没有重新初始化:
if($user == NULL){
$this->session->sess_destroy();
$this->load->library('session');
$this->session->set_flashdata("error", "message");
redirect('/signin');
}
如何重新初始化会话?
答案 0 :(得分:0)
这非常hacky,但它确实有效:
我在一个控制器中销毁会话
if($user == NULL){
$this->session->sess_destroy();
redirect('/subscribe_error');
}
然后我重定向到另一个功能(在另一个控制器中)
public function null_error(){
$this->load->library('session');
$this->session->set_flashdata("error", "message");
redirect("/signin");
}
答案 1 :(得分:0)
你可能会考虑这个
public function logout()
{
$items = ['name', 'is_logged_in']; //Or whatever designates the person as being logged in for you
$this->session->unset_userdata($items);
$this->session->sess_destroy();
redirect('signin', 'refresh');
}