如何获取codeigniter会话userdata变量的值?

时间:2015-03-29 03:49:15

标签: php codeigniter web codeigniter-2

我已经生成了包含会话数据的数组,



array(8) {
  ["session_id"]=> string(32) "1dc5eb3730601a3447650fa4453f36cd"
  ["ip_address"]=> string(3) "::1" 
  ["user_agent"]=> string(102) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36" 
  ["last_activity"]=> int(1427602284) 
  ["user_data"]=> string(0) "" 
  ["roll_no"]=> string(6) "111416" 
  ["is_logged_in"]=> int(1) 
  [0]=> object(stdClass)#20 (6) 
    { 
      ["name"]=> string(13) "durex" 
      ["email"]=> string(25) "durex@gmail.com" 
      ["year"]=> string(1) "2" 
      ["semester"]=> string(1) "4" 
      ["branch"]=> string(2) "IT" 
      ["parent_email"]=> string(27) "parent@durex.com" 
    } 
}




如何使用上述会话$ userdata回显姓名(杜蕾斯)?

4 个答案:

答案 0 :(得分:12)

如果您想在Codeigniter 2.0中设置并检索一些用户数据,那么您将遵循此流程



<?php
        $user_array = array(
          'name' => 'bob',
          'email' => 'bob@bob.com'
        );

        $this->session->set_userdata('userdata', $user_array);
        
        $user_data = $this->session->userdata('userdata');

        //Returns User's name 
        echo $user_data['name'];
?>
&#13;
&#13;
&#13;

我不确定您粘贴的内容是否格式正确..还请print_rvar_dump($user_data)查看$user_data变量< / p>

编辑:既然您已经更新了帖子,我很清楚您需要做的就是这个。

&#13;
&#13;
<?php
$user_data = $this->session->userdata('0');

echo $user_data->name;
?>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

请检查一下是否有效。 如果您从会话值中获取它:

<?php
        $user_data = $this->session->userdata('user_data');
        echo $user_data[0]['name'];
?>

如果你是从你的阵列得到的话:

<?php

        echo $your_array_name['user_data'][0]['name'];
?>

注意:这是PHP中数组的正确格式

<?php
$my_array = Array ( 
  'session_id' => '8f9286115a38df9ed54a65b135d4e8c0',
  'ip_address' => '::1',
  'user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36',
  'last_activity' => 1427600580,
  'roll_no' => 111416, 
  'is_logged_in' => 1,
  'email' => '',
  'user_data' => Array ( 
     0 => Array ( 
       'name' => 'durex', 
       'email' => 'durex@gmail.com', 
       'year' => 2 ,
       'semester' => 4, 
       'branch' => 'CSE', 
       'parent_email' => 'parent@durex.com'
     )
  )
);
echo $my_array['user_data'][0]['name'];
?>

答案 2 :(得分:1)

1.注意你的会话并保存在变量中     $ usernya = $ this-&gt; session-&gt; get_userdata(&#39; sess&#39;);

2.现在您可以使用简单的回声显示数据     echo $ usernya [&#39;用户名&#39;];

答案 3 :(得分:0)

Codeigniter 3 中,您只需使用PHP的原生$_SESSION['item'] 变量

即可检索会话数据
$this->session->item

或通过魔法吸气剂

$this->session->userdata('item');

它仍然允许传统的

onClose

更多in the docs