【问题标题】:my session_id changes, and the session does not save the data我的 session_id 发生了变化,并且会话不保存数据
【发布时间】:2011-05-23 16:39:31
【问题描述】:

以下是我认为相关的部分:

编辑:当我使用常规 $_SESSION - evrything 工作...

函数 A 保存会话数据,然后调用视图,将用户添加到其中的数据返回给函数 B。 功能 A 和功能 B 都在同一个控制器上。 我使用的是 2.0.2 版本。所以当它还要求我在配置文件中输入加密密钥时。

问题是,当我在页面之间移动时,会话不保存数据.. 我还注意到它改变了 session_id 变量...

你知道我做错了什么吗?

另一个重要信息 - 我返回一个值将 URL 扔给函数 B。

控制器欢迎:functionA

                    ...
        $data = array(
            'username' => $myusername,
            'is_logged_in' => true,
            'permissions' =>$permissions
        );
        $this->session->set_userdata($data);
                    ...
                    ...
                    $this->load->view('login_success',$dataV);

控制器欢迎:functionB

          $user=$this->session->userdata('username');       
          echo "<br> IN LINK REFERENCE: $user";

你知道我做错了什么吗?

【问题讨论】:

    标签: php session codeigniter


    【解决方案1】:

    不确定,但您似乎尚未初始化您的 Session 库。您能否检查一下您是否正确初始化了Session 库?请查看config/autoload目录下的$autoload['libraries'] = array();

    【讨论】:

    • 我在控制器构造函数中加载了库:$this->load->library('session');
    • 你在两个控制器中都加载了吗?
    • 现在我将“会话”添加到配置中的自动加载中,但 session_id 仍然改变..
    • session_id 更改不是问题。您能否检查您访问这两个功能的顺序是否正确?
    • 对不起...问题是错误的。请检查您是否在config 中设置了encryption_key?您只需要设置它,它将用作安全盐。它在applicaiton/config/config.php$config['encryption_key'] 行。然后它将按您的预期工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多