Php codeigniter会话在执行之前已存在
当我的项目第一次运行时,以下功能起作用:Php codeigniter会话在执行之前已存在,php,codeigniter,sessionid,Php,Codeigniter,Sessionid,当我的项目第一次运行时,以下功能起作用: 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
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\u id
打印$ses\u id,那么它会显示会话id。但是如果我省略了函数体中的第一行,函数就会变成如下代码:
public function index()
{
echo $ses_id=$this->session->userdata('value');
$info['session_id']=$ses_id;
$this->load->view('index',$info);
}
然后,它还显示会话id,尽管它还没有被获取。在我获取会话id之前,出现了什么问题?您对会话的概念不清楚。所以首先你们需要学习和理解这个课程是如何运作的。请检查此项以便更好地理解 JFI,在codeigniter中,会话数据数组默认包含4项:
一旦您在会话中存储了值,并且省略了第一行,它肯定会在$sess_id中显示值,b/c会话值已存储在浏览器中,并且在您清除/销毁/终止会话之前它不会被删除。您似乎误解了
会话
。通常,它将一直存储到您关闭浏览器或过期。