2013-11-10 3 views
1

Я пытаюсь реализовать функцию запоминания функции в моей форме входа. Когда пользователь проверяет флажок или не var_dumping, данные истечения срока действия сеанса возвращаются 63072000. Я не смог бы установить это, и я не понимаю, почему?Настройки Codeigniter Запомнить меня в сеансах

Как я var_dump: вид

var_dump($this->session->sess_expiration); // returning 63072000 

форма:

<input name="rememberme" value="rememberme" type="checkbox" /> 

логин модель:

$rememberme = $this->input->post('rememberme'); 
if((!isset($rememberme)) || ($rememberme != "rememberme")){ 
$this->session->sess_expiration = 10800; // 3 hours 
$this->session->sess_expire_on_close = TRUE; 
} 
$this->session->set_userdata($data); 

сессия конфигурации:

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

У Вас есть таблица ci_sessions в вашей базе данных? –

+0

да у меня есть .. –

+0

возможный дубликат [Codeigniter - истечение сеанса и функция «запомнить меня»] (http://stackoverflow.com/questions/14550213/codeigniter-session-expiration-and-remember-me-feature) – hyde

ответ

1

В соответствии с forums на EllisLabs данные сеанса задаются из файла config/config.php, когда первоначально загружен класс сеанса (который, как я полагаю, вы либо загружаете автоматически, либо вручную загружаете перед этим кодом в модели), и не может после этого.

Далее, однако, предлагается изменить данные сеанса. То, что вы могли бы попробовать сделать форсируют обновление данных сеанса после установки конфиги истечения срока действия, в то время как еще в if заявления:

$rememberme = $this->input->post('rememberme'); 

if((!isset($rememberme)) || ($rememberme != "remember me")) { 
    $this->session->sess_expiration = 10800; // 3 hours 
    $this->session->sess_expire_on_close = TRUE; 

    $this->session->sess_update(); //Force an update to the session data 
} 
Смежные вопросы