成功自动化后,我得到一个包含用户信息的数组:
$authdata = array(
'logged_in' => true,
'id_user' => $checked['idUsers'],
'time_auth' => time(),
'status' => $checked['UsersStatus'],
'type' => $checked['UsersTypeAccount'],
);
然后将此数组设置为会话Codeigniter(数组$checked
不为空,有一个UsersStatus和UsersTypeAccount):
$this->session->set_userdata($authdata);
在控制器profile
重定向后:
redirect('profile');
此控制器检查用户会话为空/ true:
if ($this->session->userdata("session_id") && $this->session->userdata("type") && (($this->session->userdata("status")){
// Return Success
}
如果make var_dump()session:
var_dump($this->session->userdata("type")).'<br>'; // false
var_dump($this->session->userdata("status")).'<br>'; die(); // false
我得到一个错误值,为什么type
和status
字段在会话中不正确?
版:
我也做过:
var_dump($this->session->all_userdata()); die();
响应:
array(5) { ["session_id"]=> string(32) "85d9e0aa1f738c551b4ba649c36f977c" ["ip_address"]=> string(12) "46.32.174.82" ["user_agent"]=> string(109) "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" ["last_activity"]=> int(1416142399) ["user_data"]=> string(0) "" }
因此,会话已创建,但没有字段状态,请键入
来自教程:
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
重要:
$this->session->set_userdata($authdata);
var_dump($this->session->all_userdata()); die(); // Here I get full session array.
答案 0 :(得分:0)
经过长时间的努力解决这个问题后,我决定:
设置会话
$this->session->set_userdata($authdata);
获取会话
$type = $this->session->userdata['type'];
$status = $this->session->userdata['status'];
$session_id = $this->session->userdata['session_id'];
它帮助了我,也许还有人