Php 销毁codeigniter中两个会话之间的特定会话
我在codeigniter中的应用程序中登录时,使用设置为true的不同变量维护了两个会话。第一个会话用于管理员,第二个会话用于普通用户。现在我想要的是,当管理员登录时,我必须销毁正常用户的所有会话并获取管理员数据。 我的代码如下: 用于管理员登录 $query=$this->dbmodel->validate()//验证管理员// 如果($query){ 普通用户Php 销毁codeigniter中两个会话之间的特定会话,php,codeigniter,session,Php,Codeigniter,Session,我在codeigniter中的应用程序中登录时,使用设置为true的不同变量维护了两个会话。第一个会话用于管理员,第二个会话用于普通用户。现在我想要的是,当管理员登录时,我必须销毁正常用户的所有会话并获取管理员数据。 我的代码如下: 用于管理员登录 $query=$this->dbmodel->validate()//验证管理员// 如果($query){ 普通用户 $data = array( 'useremail' =>
$data = array(
'useremail' => $email,
'username' => $name,
'logged_in' => true);
$this->session->set_userdata($data);
提前感谢您可以使用unset删除存储在userdata中的所有会话
unset($this->session->userdata);
尝试为管理员和普通用户设置不同的会话,如
$this->session->set_userdata('normal_user_session_data',$data); // normal user
$this->session->set_userdata('admin_login_session_data',$data); // admin
对于未设置:-
$this->session->unset_userdata('normal_user_login_session_data');// unset normal user session
$this->session->unset_userdata('admin_login_session_data'); // unset admin session
为什么设置两个不同的会话?为什么不
IF(管理)
->将管理会话设置为
->真
->否则
->将管理会话设置为
->假
?这将是个好主意。但如果普通用户已经登录到站点,并且管理员登录到仪表板,我必须破坏该普通用户的整个会话,并在站点中启动一个管理会话,以o、 这是因为在更新用户数据的链接上,我已经登录了用户的数据。那么我该怎么办?然后只需要取消设置正常用户数据和设置管理员会话数据谢谢所有取消设置的用户数据节省了我的时间。非常感谢!
$this->session->unset_userdata('normal_user_login_session_data');// unset normal user session
$this->session->unset_userdata('admin_login_session_data'); // unset admin session