【问题标题】:how to Insert data in session using codeigniter [closed]如何使用codeigniter在会话中插入数据[关闭]
【发布时间】:2014-02-15 19:35:18
【问题描述】:

需要帮助。

$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

【问题讨论】:

  • $ses_data 还是 $session_data?

标签: php codeigniter session


【解决方案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);

【讨论】:

  • 在链接 111 中仍然面临以下错误 (print_r($_SESSION)) 遇到 PHP 错误 严重性:通知消息:未定义变量:_SESSION 文件名:controllers/task.php 行号:111
  • @WaqasAhmed 会议开始了吗?
  • Codeigniter 会话不使用本机 php 会话...在上面的答案中,您可以看到如何设置和获取 ci 会话...
【解决方案2】:

如果你想使用 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());

【讨论】:

    【解决方案3】:

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

    ...不使用原生 PHP 会话。它生成自己的会话 数据,为开发者提供更大的灵活性。

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

    请记住,$_SESSION 是 PHP 原生的。

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

    【讨论】:

      【解决方案4】:

      $session_data 应该是$ses_data

      $session_data 在您调用该方法时未定义。

      【讨论】:

        猜你喜欢
        • 2016-06-19
        • 1970-01-01
        • 2016-05-31
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 2015-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多