代码点火器会话print_r

时间:2016-02-03 12:35:26

标签: php codeigniter session

我刚刚使用了代码

$data = array(

                'USERNAME' => $this->input->post('USERNAME'),
                'is_logged_in' => 1

                );
            $this->session->set_userdata($data);
我的控制器上的

和代码

<?php

echo "<pre>";
print_r($this->session->all_userdata());
echo "</pre>";

?>

在登录后我将被重定向的页面上。我正在观看这个视频教程,他得到的输出就像是

[session_id] = >
[ip_address] = >
[user_agent] = >
[last_activity] = >
[user_data] = >
[username_variable] = >
[is_logged_in] = >

我只得到输出

[__ci_last_regenerate] => 
[USERNAME] => 
[is_logged_in] => 

为什么?它与代码点火器版本有关吗?或者我有错误或配置错误?如果输出不相同,我担心我将来会有错误。

1 个答案:

答案 0 :(得分:1)

NO !!。它没有。

您设置的内容仅返回。在您的会话代码中,您只设置了USERNAMEis_logged_in。所以这两个只在你打印会话时输出。

  

如果显示的元素超过此数量,则会话存储错误

还有一件事

当您使用Codeigniter session to store in table时,您将全部取消

将会话数据保存到数据库

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(45) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);