我的项目首次运行时,以下功能起作用:
public function index()
{
$this->session->set_userdata(array('value'=> $this->session->session_id));
$ses_id=$this->session->userdata('value');
$info['session_id']=$ses_id;
$this->load->view('index',$info);
}
现在,如果我用echo $ses_id
打印$ ses_id,那么它将显示会话ID。但是,如果我省略了函数主体的第一行,该函数将变为以下代码:
public function index()
{
echo $ses_id=$this->session->userdata('value');
$info['session_id']=$ses_id;
$this->load->view('index',$info);
}
然后,即使尚未使用,它也会显示会话ID。在我获取会话ID之前,这里可能是什么问题?
答案 0 :(得分:1)
您对会话的概念不清楚。因此,首先您需要学习并理解会议的工作方式。请检查此Codeigniter Session以获得更好的理解。
JFI,在代码初始化器中,会话数据数组默认包含4个项目:
一旦您将值存储在会话中,并且您省略了第一行,则肯定会在 $ sess_id 中显示该值。b / c会话值已存储在浏览器中,直到您将其删除清除/销毁/终止会话。