codeigniter 无法访问另一个控制器中的会话数据
Posted
技术标签:
【中文标题】codeigniter 无法访问另一个控制器中的会话数据【英文标题】:codeigniter can't access session data in another controller 【发布时间】:2018-07-21 17:21:31 【问题描述】:我想使用会话数据作为变量从数据库中获取数据。我认为这个函数是正确的,但它总是给出 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;
【问题讨论】:
【参考方案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');
希望对你有所帮助。
【讨论】:
【参考方案2】:你确定吗?
$this->session->set_userdata('id_member', 'id_member');
第二个参数必须是值,也许
$this->session->set_userdata('id_member', $id_member);
【讨论】:
sama-sama :) 。需要更彻底以上是关于codeigniter 无法访问另一个控制器中的会话数据的主要内容,如果未能解决你的问题,请参考以下文章