【问题标题】:Codeigniter Session losing data between pagesCodeigniter 会话在页面之间丢失数据
【发布时间】:2016-03-10 20:08:40
【问题描述】:

如果在前一页的会话数据中将包含 \\\' 之类的字符串添加到会话数据中的数组中,我的站点会损坏会话数据。我正在想办法解决这个问题。

一个例子:

    function testsession(){
        session_start();
        $breakingString['key'] = 'breaking code \\\'';  //Array containing string the that causes the break. It only breaks if in an array.
        $this->session->set_userdata('breakval', $breakingString);
        redirect('admin/testsession2');
    }
    function testsession2(){
        var_dump($this->session->userdata('breakval')); //returns false
        die;
    }

除了用 base64 编码所有内容之外,还有什么方法可以阻止这个错误的发生?

【问题讨论】:

  • 它不会为我返回 false。您能否发布您的实际代码实现,以便我们帮助找出问题所在?此外,如果您使用 CodeIgniter 会话,则不需要 session_start()。您是否使用:$this->load->library('session'); 加载了 Session 库?

标签: php codeigniter


【解决方案1】:

你必须把 session_start();在您希望访问 $_SESSION 中保存的数据的所有页面上。

PHP Sessions basic usage

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2019-04-04
    • 2011-12-15
    • 1970-01-01
    • 2012-06-15
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多