之前存在codeigniter会话

时间:2018-08-26 18:55:14

标签: 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->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之前,这里可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您对会话的概念不清楚。因此,首先您需要学习并理解会议的工作方式。请检查此Codeigniter Session以获得更好的理解。

JFI,在代码初始化器中,会话数据数组默认包含4个项目:

  1. session_id
  2. ip_address
  3. user_agent
  4. last_activity

一旦您将值存储在会话中,并且您省略了第一行,则肯定会在 $ sess_id 中显示该值。b / c会话值已存储在浏览器中,直到您将其删除清除/销毁/终止会话。