我正在使用Codeigniter的会话库在表中添加会话数据。

从文档:

$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );

$this->session->set_userdata($newdata);


例如,在我的会话表中,我得到以下代码:

a:7:{s:9:"user_data";s:0:"";s:7:"user_id";s:2:"10";s:8:"username";s:0:"";s:9:"firstname";s:3:"Dan";s:8:"lastname";s:6:"Greeb";s:6:"status";s:1:"1";s:18:"settings_activated";i:1;}


我找不到任何有关所有字母和数字含义的文档。语法是什么意思?

请注意上一个会话项目settings_activated。我正在使用它来检查用户是否输入了他/她的设置。设置为1或0。i是什么意思?

最佳答案

要访问所有会话用户数据,只需键入:

$data = $this->session->all_userdata();


有了这个你可以访问

echo $data['username']; // gives "johndoe"


如果您想要一些特定的东西,可以做

$username = $this->session->userdata('username');
echo $username;  // gives "johndoe"


正如上面的Wrikken所提到的,您在实际表中看到的数据是经过序列化的,CI不希望您直接与它进行交互-只需使用Session类即可。

10-07 13:15
查看更多