【发布时间】:2015-01-15 06:50:57
【问题描述】:
我是 Codeigniter 的新手。我在一个控制器中设置会话。我可以从另一个控制器的某些功能访问该会话数据。但只有某些功能无法访问会话数据。请帮助我为什么会这样。
我设置会话
$admin_details=array(
'admin_id'=>$admin_id,
'admin_name'=>$admin_name,
'email'=>$email,
'is_admin_logged_in'=>true,
'user_type'=>'admin'
);
$this->session->set_userdata($admin_details);
我通过
访问它function manage_profile()
{
if(!$this->session->userdata('is_admin_logged_in'))
{
$this->load->view('admin/test');
}
}
但它正在加载视图“测试”。我已经加载了会话库并设置了加密密钥。它适用于同一控制器中的其他一些功能。
【问题讨论】:
-
转储您的会话数组并查看它在 manage_profile 函数中返回的内容
-
它返回..array(5) { ["session_id"]=> string(32) "2e75844ad3cccc256669c52d1a44bf90" ["ip_address"]=> string(15) "123.237.210.195" ["user_agent "]=> string(101) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" ["last_activity"]=> int(1421305221) ["user_data" ]=> 字符串(0) "" }
-
您的代码中的某些内容已取消设置管理员会话。是否有任何其他代码 sn-p 与您的代码相交?
-
没有。管理员会话重置未在任何地方完成.. 该函数中的 var_dump 函数给出布尔值 FALSE
-
但仍有一些其他功能可以访问会话数据
标签: php codeigniter session