【问题标题】:Pass session between controller在控制器之间传递会话
【发布时间】:2016-01-29 21:51:08
【问题描述】:

你能解释一下在控制器之间传递会话数据的方法吗?在 CodeIgniter 中?

'因为如果我有

$data = array('email' => $this->input->post('email'),
                                    'is_logged_in' => true);
        $this->session->set_userdata($data);

在 Pippo.php 控制器上,我不能在另一个控制器中使用会话,我需要检查 'is_logged_in' 是否设置为 true 以创建仅限成员的页面。

【问题讨论】:

  • 给定的代码看起来很完美。你能和我们分享pippo.php你使用会话的代码吗?你确定要加载会话类吗?
  • 设置会话后,您可以在整个项目中使用它
  • 使用$this->session->all_userdata() 应该检索关联数组中的所有会话数据。改写为$this->session->set_userdata('mydata', $data)
  • 在自动加载中加载会话库

标签: php codeigniter session


【解决方案1】:

首先我会自动加载会话库。

然后在你的登录控制器的成功部分

$data = array(
      'email' => $this->input->post('email'),
      'is_logged_in' => true
);

$this->session->set_userdata($data);

然后,一旦你设置了会话并被重定向到你的控制器

在控制器的parent::__construct() 区域中。

public function __construct() {
  parent::__construct();

  if ($this->session->userdata('is_logged_in') == false) {
    redirect('logout_controller');
  }
}

【讨论】:

猜你喜欢
  • 2016-02-11
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
相关资源
最近更新 更多