Php 如何使用codeigniter将一个控制器传递给另一个控制器

Php 如何使用codeigniter将一个控制器传递给另一个控制器,php,codeigniter,session,Php,Codeigniter,Session,登录控制器下面的代码: I have Two Controller. 1.Login Controller 2. NewsLine Controller 我的问题是如何将$_SESSION['id]传递给新闻专线控制器,如中所述,以设置您可以执行以下操作的会话数据 $query = $this->login_model->select_login($_POST); if ($query) { $user = array(

登录控制器下面的代码:

I have Two Controller.

1.Login Controller
2. NewsLine Controller
我的问题是如何将$_SESSION['id]传递给新闻专线控制器,如中所述,以设置您可以执行以下操作的会话数据

$query = $this->login_model->select_login($_POST);
            if ($query) {
                $user = array(
                    'uname' => $query['uname'],
                    'pwd' => $query['pwd']
                );
                $this->session->set_userdata($user);
                $_SESSION['id'] = $user['id'];
                redirect('Newsline');
            }
这就是你检索数据的方法

$newdata = array(
         'username'  => 'uname',
         'email'     => 'uname@some-site.com'
);

$this->session->set_userdata($newdata);
在您的情况下,您的代码应该如下所示

$session_id = $this->session->userdata('email');
要在新闻专线控制器上检索ID

if ($query) {
   $user = array(
         'uname' => $query['uname'],
         'pwd' => $query['pwd'],
         'id' => $query['id']
   );
   $this->session->set_userdata($user);
   redirect('Newsline');
}

在CI设置会话$this->session->set_userdata('id',$user['id');并获取会话$this->session->userdata('id');id显示空值无法在$user数组中设置id。。那么如何获得它呢?首先设置$this->session->set_userdata('id',$query['id');
$session_id = $this->session->userdata('id');