我在codeigniter中创建了以下会话,
$data = array(
'employee_id' => $row->employee_id,
'f_name' => $row->f_name,
's_name' => $row->s_name,
'user_name' => $row->user_name,
'title' => $row->title,
'is_active' => $row->is_active,
'validated' => true
);
$this->session->set_userdata('user', $data);
如何从会话中检索employee_id
的值?
我尝试过以下方式在不同的功能中访问它,但我一直在收到错误
$data = $this->session->userdata('user');
$data['month'] = $month;
$data['year'] = $year;
$this->session->set_userdata('user', $data);
$data['user_data'] = $this->session->userdata('user');
var_dump($data);
foreach ($user_data as $value) {
echo $value;
echo 'Employee ID :'.$value->employee_id.'</br>';
echo 'Month Session : '.$value->year.'</br>';
}
请告知最佳访问方式?
答案 0 :(得分:1)
IN Controller,请调用会话库
$this->load->library('session');
现在在视图中
$data = $this->session->userdata('user');
$employee_id = $data['employee_id'];
答案 1 :(得分:0)
$data['user_data'] = $this->session->userdata('user');
将返回数据数组。
因此,您可以访问$data['user_data']["employee_id"]
答案 2 :(得分:0)
确保您在控制器中加载会话库,因为如果您这样做,则不清楚。你可以通过
来做到这一点$this->load->library('session');
或自动加载它。
然后需要将代码更改为
foreach ($data['user_data'] as $value) {
echo 'Employee ID :' . $value['employee_id'] . '</br>';
echo 'Month Session : ' . $data['year'] . '</br>';
}