php - 如何从 session 数组中获取特定值?

标签 php arrays codeigniter session

我已经创建了一个 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/

相关文章:

PHP - PDO 引用可以安全地避免 SQL 注入(inject)吗?

php - 如何在 Bootstrap 模式(或对话框)和 codeigniter 内查询数据库

php - 静默/隐藏的 GET 请求是否可能?

php - MySQL 存储 boolean 值 - 1、0 或 NULL

php - session /身份验证如何与 nginx/NHPM/PHP-FPM 一起工作?

c - 有没有办法将字符串数组拆分为 token 上的字符串子数组

c - 从c中的文本文件中读取列的算法

c++ - 具有静态 std::array 的神经网络比使用动态 C 数组的神经网络慢

mysql - Codeigniter: $this->load->database();返回空白页

php - 在代码点火器中多个图像更新