如何使用codeigniter在会话中插入数据

时间:2014-02-15 19:35:19

标签: php codeigniter session

需要帮助。

$ses_data = array('session_un'  => $_POST['username'],'session_pd'  =>   $_POST['password'],'session_id'  => 1,'logged_in' => TRUE);

$this->session->set_userdata($session_data);
print_r($_SESSION);

结果:

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的变量:session_data

     

文件名:controllers / task.php

     

行号:110

4 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您使用$ses_data作为变量,然后切换到$session_data,请按以下步骤进行更改

$ses_data = array('session_un'  => $_POST['username'],'session_pd'  =>   $_POST['password'],'session_id'  => 1,'logged_in' => TRUE);

$this->session->set_userdata($ses_data);
                           //^ use here $ses_data instead of $session_data 
                           //  which is not defined
print_r($_SESSION);

答案 1 :(得分:1)

如果您想使用Codeigniter:

$ses_data = array('session_un'  => $this->input->post('username'),
'session_pd'  =>   $this->input->post('password'),'session_id'  => 1,
'logged_in' => TRUE);

$this->session->set_userdata($ses_data);

print_r($this->session->all_userdata());

答案 2 :(得分:1)

你仍然面临$ _SESSION undefined因为CodeIgniter,如文档中所述:

  

...不使用本机PHP会话。它会生成自己的会话   数据,为开发人员提供更多灵活性。

所以没有$ _SESSION可用,因为你没有在每个页面的顶部设置session_start()。

请注意,$ _SESSION是PHP原生的。

$ CI-> session是来自CI课程的对象,与$ _SESSION无关。

答案 3 :(得分:0)

$session_data应为$ses_data

调用该方法时未定义

$session_data