当我在codeigniter中重定向页面时会话空

时间:2014-03-17 17:15:55

标签: php codeigniter session codeigniter-2 session-cookies

我的会话在用户登录或注销时工作正常,它可以工作。但是我在重定向链接时遇到问题。

以下是我的配置设置:

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = FALSE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

我只是在视图文件中创建仅处理click事件的Javascript代码。 此单击事件的目的是当用户单击单选按钮时,它只需更改url简单的javascript代码,如下所示:

document.location = "http://www.mydomain.com/index.php/sets/";

问题:当这个url改变了我的会话时,user_data变量变为空。我在集合控制器中使用以下代码进行检查:

class sets extends CI_Controller{
public function index(){
    $this->load->view('header');
    print_r($this->session->all_userdata());
   $this->load->view('footer');        
}

结果:

Array ( [session_id] => 421e7bec9096249af3f37142796005f2 [ip_address] => 00.115.429.81 [user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0 [last_activity] => 1395076388 [user_data] => )

ER 现在我发现我的user_data为空

1 个答案:

答案 0 :(得分:0)

您是使用Chrome开发人员工具还是使用Firefox和firebug?如果是这样,我也遇到了问题。它与更改用户/代理字符串以及与当前会话不匹配(由于开发人员工具)有关。如果您使用的是开发工具,则可以尝试将$config['sess_match_useragent'] = TRUE;更改为$config['sess_match_useragent'] = FALSE;

我建议您在生产环境中更改它。