您如何在 CodeIgniter 中登录应用程序的多用户(管理员、用户)中维护会话(设置会话 ID、获取会话 ID)?
我正在使用这个if($this->session->userdata('logged_in') == '')
。但这不起作用。
谢谢
您如何在 CodeIgniter 中登录应用程序的多用户(管理员、用户)中维护会话(设置会话 ID、获取会话 ID)?
我正在使用这个if($this->session->userdata('logged_in') == '')
。但这不起作用。
谢谢
尝试这个
if ($this->session->userdata('logged_in')!=FALSE) {
print_r($this->session->all_userdata());
}
所以你可以找到当前的用户数据
如果您之前已经定义了会话,
$this->session->set_userdata('logged_in', 'value');
然后检查会话是否设置正确,
if(isset($this->session->userdata('logged_in')) {
if($this->session->userdata('logged_in') == '') {
// Your Code
}
}
如果上面isset()
返回false,那么您的会话设置不正确。检查那个。
请加载会话库
根据您是否自动加载会话库,我们需要包括:
$this->load->library('session');
然后你应该能够使用:
$this->session->set_userdata('logged_in', 'some_value');
并检查是否设置了会话,只需使用
if($this->session->userdata('logged_in')){
//code for logged in
}
如果还是不行,请尝试清除浏览器缓存
我希望它会有所帮助!
首先,您必须检查您尝试检索的会话项目是否存在,然后将其与您想要的值进行比较。尝试这个:
if( $this->session->userdata("logged_in") !== FALSE ){
if( $this->session->userdata("logged_in") == "admin" ){
//logged in as admin
}elseif( $this->session->userdata("logged_in") == "user" ){
//logged in as user
}
}
还有一件事,
parent::__constructor();
line 应该始终是构造函数中的第一行代码,否则,您稍后会在代码中遇到很多错误
首先检查天气你已经加载了会话库..
如果您验证空白值那么您错了,请使用此
// to set the session data
$this->session->set_userdata('name', 'value'); // note u can also pass array
if(isset($this->session->userdata('name'))){
//to read session data
$this->session->userdata('name'); // note u can also pass array
//to unset or delete
$this->session->unset_userdata('name');
}