登录后,我用用户ID和一些信息设置了会话。它在Google Chrome上运行得很好。但是在Firefox上登录后,它被重定向到登录页面。我不知道是什么问题。此外,奇怪的是,这在我的本地服务器(如127.0.0.4)上运行得很好。这个重定向问题发生在live服务器(hostinger)上,而且只发生在Firefox上。
下面是我的config.php
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'eq_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = TRUE; // JFRH
$config['sess_table_name'] = 'eq_sessions'; // JFRH
// $config['sess_save_path'] = NULL;
$config['sess_save_path'] = FCPATH . 'public/sess';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['sess_match_useragent'] = FALSE;
该函数是自定义的认证库。
public function sess_validate($redi = FALSE, $sess_upda = FALSE) {
$CI =& get_instance();
if ($CI->session->userdata('sess_id')) {
//Preguntar si la variable de sesión 'usua' existe o si se requiere
//que los datos de la misma sean actualizados
if ((!$CI->session->userdata('usua')) || ($sess_upda == TRUE)) {
$this->__sess_update();
}
return TRUE;
} else {
if (!$redi) {
return FALSE;
} else {
print "<script> window.location.href = '". base_url('auth')."'; </script>";
}
}
}
我在Auth Controller中设置了会话数据,如下所示。
$this->session->set_userdata('sess_id', $usua->id_usu);
$this->session->set_userdata('sess_na', $usua->nom_usu . " " . $usua->ape_usu);
$this->session->set_userdata('sess_log', $usua->log_usu);
我已使用更改的会话路径进行了测试。
1条答案
按热度按时间ycl3bljg1#
我已经修复了这个问题。这是我的config.php。
第一个月
正如你所看到的,我设置了根目录,就像上面的一行。它可以在我的本地服务器上工作,但是当我在服务器上部署它时,服务器协议是https。这是这个问题的一个原因。所以我这样修复了这个问题。
现在,工作正常。