我的会话在用户登录或注销时工作正常,它可以工作。但是我在重定向链接时遇到问题。
以下是我的配置设置:
$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为空
答案 0 :(得分:0)
您是使用Chrome开发人员工具还是使用Firefox和firebug?如果是这样,我也遇到了问题。它与更改用户/代理字符串以及与当前会话不匹配(由于开发人员工具)有关。如果您使用的是开发工具,则可以尝试将$config['sess_match_useragent'] = TRUE;
更改为$config['sess_match_useragent'] = FALSE;
我建议您在生产环境中更改它。