Php Codeigniter单独销毁会话

Php Codeigniter单独销毁会话,php,codeigniter,Php,Codeigniter,我对管理员和用户使用两个不同的会话,我想分别销毁每个会话,但当我使用$this->session->sess_destroy()销毁一个会话时它破坏两个会话。请帮帮我 $admin_data = array ( 'admin_email' => $this->input->post('admin_email'), 'is_admin_logged_in' => 1 ); $this->session

我对管理员和用户使用两个不同的会话,我想分别销毁每个会话,但当我使用
$this->session->sess_destroy()销毁一个会话时它破坏两个会话。请帮帮我

$admin_data = array (
        'admin_email' => $this->input->post('admin_email'),
          'is_admin_logged_in' => 1
               );

$this->session->set_userdata($admin_data);
redirect('admin_profile');    

public function admin_profile() { 

        if ($this->session->userdata('is_admin_logged_in')){

                $this->load->view("view_admin_profile");                
        }
        else {redirect('login');}
    }

public function logout() { 
    $this->session->unset_userdata($admin_data);
    redirect("login");
    }

您可以使用
$this->session->unset_userdata(“会话名称”)

有关更多信息,请查看用户指南


您可以使用
$this->session->unset_userdata(“会话名称”)

有关更多信息,请查看用户指南

您可以使用:-

$this->session->unset_userdata('some_name');
unset\u userdata()
可以通过传递会话密钥来删除它

例如:

如果您的管理会话名称为“admin\u id”,而用户会话id为“user\u id”,则您可以按如下方式分别销毁这两个会话:-

$this->session->unset_userdata('admin_id'); // for admin

$this->session->unset_userdata('user_id'); // for user 
您可以使用:-

$this->session->unset_userdata('some_name');
unset\u userdata()
可以通过传递会话密钥来删除它

例如:

如果您的管理会话名称为“admin\u id”,而用户会话id为“user\u id”,则您可以按如下方式分别销毁这两个会话:-

$this->session->unset_userdata('admin_id'); // for admin

$this->session->unset_userdata('user_id'); // for user 

要在codeigniter中销毁会话,只需执行以下操作

function logout() { 

        $this->session->sess_destroy();

}

要在codeigniter中销毁会话,只需执行以下操作

function logout() { 

        $this->session->sess_destroy();

}

unset_userdata()刚刚从会话中删除了数据,但会话没有被销毁。注销后我仍然可以访问我的配置文件。unset_userdata()刚刚从会话中删除了数据,但会话没有被销毁。注销后我仍然可以访问我的配置文件。unset_userdata()刚刚从会话中删除了数据,但会话没有被销毁。注销后我仍然可以访问我的个人资料。你能给我这个打印($this->session->all_userdata())吗;如果(!$this->session->userdata('admin_id'){redirect('login')}我想在使用$this->session->unset_userdata('is_admin_logged_')后输出,请在所有控制器的构造方法中使用此方法检查该用户登录是否正确;这一行我是这样检查会话的。我刚刚编辑了我的问题。请查看我的代码。unset_userdata()刚刚从会话中删除了数据,但会话没有被销毁。注销后我仍然可以访问我的个人资料。你能给我这个打印($this->session->all_userdata())吗;如果(!$this->session->userdata('admin_id'){redirect('login')}我想在使用$this->session->unset_userdata('is_admin_logged_')后输出,请在所有控制器的构造方法中使用此方法检查该用户登录是否正确;这一行我是这样检查会话的。我刚刚编辑了我的问题。请看一看我的代码。上面的代码运行良好,您使用$admin_数据创建的会话在注销功能中未设置,那么问题是我仍然可以打开我的配置文件页面(不登录)注销后,您是否调用函数admin_profile来查看管理员配置文件或url,如localhost/projectname/controller/admin_profileurl,如localhost/projectname/controller/admin_profileI刚刚更改了$this->session->unset_userdata($admin_data);要$this->session->unset_userdata('is_admin_logged_in');它工作得很好上面的代码工作得很好会话使用$admin_数据创建的会话在注销功能上未设置,那么问题是我仍然可以打开我的配置文件页面(不登录)注销后,您是否调用函数admin_profile来查看管理员配置文件或url,如localhost/projectname/controller/admin_profileurl,如localhost/projectname/controller/admin_profileI刚刚更改了$this->session->unset_userdata($admin_data);要$this->session->unset_userdata('is_admin_logged_in');而且效果很好