我已经创建了一个 session 并将 User_id
分配给 session 变量。当我使用 print_r();
时,它会显示关联数组中的 session 变量数据,但是当我使用 foreach 时,它会给我很多错误消息。
请检查并指导我这里做错了什么。
print_r($session_dataa= $this->session->all_userdata());
Session dataArray ( [session_id] => 5943ecd761c336e70240b25d37b054b8
[ip_address] => ::1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0)
Gecko/20100101 Firefox/28.0
[last_activity] => 1397982790
[user_data] => [41] => )
我想获取 [user_data]=> [41]
并存储在 student_id
变量中。为此,我使用了 foreach 循环,但它给了我以下错误消息。
$session_data= $this->session->all_userdata();
foreach ($session_data as $data)
{
$student_id = $data->user_data;
}
Severity: Notice
Message: Trying to get property of non-object
Filename: views/students.php
Line Number: 32
这就是我将 User_id 分配给 session 数据的方式。 mycontroller.php
//[[session]]
$data['students_data']= $this->loginmodel->student_profile($currentId);
$this->load->library('session');
$this->session->set_userdata($currentId);
最佳答案
您没有将 current_id
与任何变量相关联,下面给出了将值分配给 session 变量的正确方法;
Controller
$this->load->library('session');
$this->session->set_userdata(array(
'currentId' =>$current_id
));
查看
$student_id = $this->session->userdata('currentId');
关于php - 如何从 session 数组中获取特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180293/