繁体   English   中英

会话变量在其他控制器(CodeIgniter)中不起作用

[英]Session variable not working in other controller (CodeIgniter)

成功登录后,我在登录控制器中设置了会话变量。 当我在仪表板控制器中检查变量时,找不到会话数据。

当我在登录控制器中检查会话时,存在会话数据。 当我检查仪表板控制器时,它不存在。 我也尝试过使用数据库会话没有成功。

我正在将CodeIgniter 3.1.3与HMVC(基于模块的MX控制器)一起使用。 接下来是我当前问题的代码和屏幕截图。

我的会话配置文件

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

附件1

在此处输入图片说明

附件2

在此处输入图片说明

附件3

在此处输入图片说明

附件4

块引用

在此处输入图片说明

print_r($_SESSION)在CI中不起作用。 在Codeigniter中,我们必须编写以下语法。

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

要么

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

如果您没有加载会话库表单,则需要先加载。 尝试这种方式。

$this->load->library('session');
$this->session->userdata('your_session_variable'); // get single value
or
print_r($this->session->userdata);
or
print_r($this->session->all_userdata()); // get all session data but deprocated in newer version

您可能会错过在Dashboardcontroller加载session库的过程,因此请首先使用以下命令加载它:

class Dashboardcontroller extends CI_Controller{
function __construct(){
    $this->load->library('session');//loads session library
}

然后尝试

 print_r($_SESSION)

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM