代码点火器会话print_r


code igniter sessions print_r

我只是使用了代码

$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] => 

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

不!.

不是。

您为会话设置的内容只会返回。在会话代码中,您仅设置USERNAMEis_logged_in 。因此,这两个仅在打印会话时输出。

如果显示的元素比这更多,则会话存储时出现错误


还有一件事

当您使用Codeigniter会话存储在表中时,您将获得上述所有内容

将会话数据保存到数据库

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`)
);