我如何从codeigniter回显我的会话数组

时间:2015-01-18 02:30:55

标签: php codeigniter

我知道之前已经问过这个问题,但是我的会话数组设置不同,我会知道能够在我的成员视图中回显'firstname'和'email'。

这是我的会话数组的样子:

Array
(
    [session_id] => 0be663ae77530e5992d3116af24a216d
    [ip_address] => 
    [user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
    [last_activity] => 1421547754
    [user_data] => 
    [email] => Array
        (
            [firstname] => Travis
            [email] => theller5567@gmail.com
            [password] => 894027e71b85d60bcc5b0dbe6e83f1f6
        )

    [is_logged_in] => 1
    [firstname] => 
)

我想进入电子邮件阵列并回显出名字。 非常感谢任何帮助,谢谢。

这是我设置userdata的函数。如果你看到一个更好的方法,请一定分享,我会非常非常好。 public function register_user($ key){

$this->load->model('model_users');
        if($this->model_users->is_key_valid($key)){
            if($newemail = $this->model_users->add_user($key)){
                $data = array(
                    'firstname' => $this->input->post('firstname'),
                    'email' =>  $newemail,
                    'is_logged_in' => 1
                );
                $this->session->set_userdata($data);
                redirect('login/members');
            }else echo "Failed to add user, please try again.";
        }else echo "invalid Key";
    }

2 个答案:

答案 0 :(得分:3)

我能想到的最简单的方法就是:

$email = $this->session->userdata('email');

然后你可以用:

回显里面的信息
echo $email['firstname'];

echo $email['email'];

从我所看到的,CodeIgniter的会话库没有任何直接的方法来访问多维数组值。

答案 1 :(得分:0)

echo 'firstname: ' . $_SESSION ['email']['firstname'];
echo 'email: ' . $_SESSION ['email']['email'];