【发布时间】:2016-04-04 14:02:52
【问题描述】:
我已经挖掘了所有的 codeigniter 会话主题,但没有找到任何解决方案。
我为我的项目设置了一个登录控制器,它将用户名和密码发送到我的登录模型。这一切都很好。从数据库中提取信息后,我将设置一些会话信息。
这里有一些代码sn-ps: 配置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 14400;
$config['sess_save_path'] = '/var/www/mysite.com/application/cache/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 0;
$config['sess_regenerate_destroy'] = FALSE;
自动加载:
$autoload['libraries'] = array('session', 'database', 'form_validation', 'email');
从数据库中提取一个想法(工作正常):
$UserID = $this->LoginModel->login($username, $pass);
设置会话变量:
$this->session->set_userdata('Sess_ID', md5($UserID.date('YmdHis')));
该过程完成后,用户被转到下一页。这就是问题所在。我加载了一个简单的会话变量检查,甚至是一个 var_dump,但每次会话都是空的。
public function __construct() {
parent::__construct();
echo var_dump($this->session);
if ($this->SessionModel->basic() == false) {
//$this->SessionModel->logout();
echo 'Session Error';
}
}
所以,问题是,我如何从下一页/控制器调用会话?我习惯使用 session_start(),但在 codeigniter 中不需要。我还确认会话文件可以并且正在写入目录。
请输入...
【问题讨论】:
-
$this->session->userdata('Sess_ID');给了什么?? -
目前正在给定一个自定义的 session_ID。
-
var_dump($_SESSION)产生什么? (顺便说一句,不需要echovar_dump) -
我已确认文件显示在缓存文件夹中。
-
发送到下一页的代码很简单:redirect(Select/index);把它带到我的选择控制器。
标签: php codeigniter session