【问题标题】:Issue with session varaibles in codeignitercodeigniter 中的会话变量问题
【发布时间】:2016-07-06 11:40:20
【问题描述】:

我正在使用 CI3,我将会话变量存储在一个控制器中并将其传递给另一个控制器,它工作了好几天,但突然会话变量没有设置并且值没有传递到控制器,我没有改变任何东西在代码中.. 我不知道如何调试导致麻烦的问题

一个控制器

$this->session->set_userdata(array(
   'value1'       =>$this->input->post('value1'),
   'value2'       =>$this->input->post('value2'),
                ));

在第二个控制器中获取值

 echo  $this->session->userdata('value1');

该值为 null

【问题讨论】:

标签: php codeigniter session


【解决方案1】:

您是否仔细检查过 value1 是否已发布到您的控制器并且不为空?尝试在将 value1 的 var_dump 放入数组之前回显它并查看值是什么。

echo var_dump($this->input->post('value1'));

编辑:

控制器 2 是扩展默认 CI 控制器、其他控制器还是独立的?可能是它完全不知道会话。尝试添加

$this->ci =& get_instance();

在控制器的构造函数中,然后尝试调用它

echo $this->ci->session->all_userdata();

【讨论】:

  • 它设置在 value1 我已经检查过了
  • 您在哪里存储会话数据?会话库是否正在加载/自动加载?
  • 在控制器中加载
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
相关资源
最近更新 更多