【发布时间】:2015-01-13 10:28:39
【问题描述】:
自动化成功后,我得到一个包含用户信息的数组:
$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');
此控制器在空/真时检查用户会话:
if ($this->session->userdata("session_id") && $this->session->userdata("type") && (($this->session->userdata("status")){
// Return Success
}
如果创建 var_dump() 会话:
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.
【问题讨论】:
标签: php codeigniter session