用户登录或注销时我的会话工作正常,它可以正常工作。但重定向链接时遇到问题。
这是我的配置设置:
$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变量变为empty.i通过在sets控制器中使用以下代码进行检查:
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] => )
呃现在我发现我的user_data是空的
您是使用Chrome与开发人员工具还是Firefox与firebug?如果是这样,我也遇到了问题。它与更改用户/代理字符串以及与当前会话不匹配(由于开发人员工具)有关。如果您使用开发工具,可以尝试将$config['sess_match_useragent'] = TRUE;
更改为$config['sess_match_useragent'] = FALSE;
我建议你在生产环境中改变它。