我只是使用了代码
$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] =>
为什么呢? 它与代码点火器版本有关吗? 或者我有错误或配置错误? 如果输出不同,我担心将来会出现错误。
不!.
不是。
您为会话设置的内容只会返回。在会话代码中,您仅设置USERNAME
和is_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`)
);