Codeigniter 3会话无法正常运行

时间:2015-12-30 15:19:30

标签: php codeigniter session

我已经挖掘了所有codeigniter会话主题,但没有找到任何解决方案。

我为我的项目设置了一个Login Controller,它将用户名和密码发送到我的登录模型。一切正常。一旦我从数据库中提取信息,我就会设置一些会话信息。

以下是一些代码段: 配置:

$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中不需要。我还确认可以并且正在将会话文件写入目录。

输入请...

1 个答案:

答案 0 :(得分:0)

获取所有会话数据 使用方法:

 print_r($this->session->all_userdata());

具体数据:

  print_r($this->session->userdata('name_of_the_session_variable'); 

在你的情况下:

   print_r($this->session->userdata('Sess_ID'));