codeigniter无法访问另一个控制器中的会话数据

时间:2018-02-11 11:58:53

标签: php codeigniter session

我想使用会话数据作为变量从数据库获取数据。我认为函数是正确的,但它总是给出null作为结果。当我在视图中显示它时,它什么都没有/ null。任何人都可以帮助我吗?

我在login控制器中定义了这段代码:

$this->session->set_userdata('id_member', 'id_member');

控制器c_perawat中的函数DataProfil

public function DataProfil(){
        $session_id = $this->session->userdata('id_member');
        $data['klinik']=$this->m_klinik->GetDataKlinik($session_id)->result();
        $data['sidebar']='member/perawat/sidebar';
        $data['content']='member/perawat/pr';
        $this->load->view('member/perawat/main',$data);

    }

我的模特功能

public function GetDataKlinik($session_id){
        $klinik=$this->db->query("SELECT * FROM klinik where id_perawat='$session_id'");
        return $klinik;
    }

2 个答案:

答案 0 :(得分:1)

首先确保您已在application/config/autoload.php

下自动加载会话

$autoload['libraries'] = array('session');

在将数组设置为$session

之前创建一个数组session变量

$session_data = array('session_id' => $id); //在这里,您可以添加任意数量的会话密钥和值。

注意:$id是您要设置会话的id

然后将$session_data设置为会话。

$this->session->set_userdata('session_data',$session_data);

访问会话变量

$session_id = $this->session->userdata['session_data']['session_id'];

取消设置会话变量

$this->session->unset_userdata('session_data');

希望这会对你有所帮助。

答案 1 :(得分:1)

你确定吗?

$this->session->set_userdata('id_member', 'id_member');

第二个参数必须是值,可能是

$this->session->set_userdata('id_member', $id_member);