2017-02-19 13 views
0

Я создаю логин для моего сайта. Я использую сессий CI. У меня есть две сессии, созданные в моей модели для входа в систему. Первый - для темпа. пользователь, а второй для постоянного пользователя (Запомнить меня функциональность). Для первого, я имею в TempData() & для второго, я имею в UserData(). Проблема Я столкнулся с тем, что сеанс истекает после закрытия браузера.Завершение сеанса Tempdata после закрытия браузера в codeigniter

Мой Войти модель код выглядит следующим образом:

public function logger($email, $pass, $check) 
     { 
      $q = $this->DB->get_where('users', array('email' => $email, 'pass' => $pass)); 
      if($q->num_rows() == 1) 
      { 
       if(isset($check)) 
       { 
        $this->session->set_tempdata('per_ue', $email, 86400*30); 
        $this->session->set_tempdata('per_up', $pass, 86400*30); 
        return redirect('uhome'); 
       } else { 
        $this->session->set_userdata('tmp_ue', $email); 
        $this->session->set_userdata('tmp_up', $pass); 
        return redirect('uhome'); 
       } 
      } else { 
       $login_error = '<p class="text-danger">Login credentials are incorrect</p>'; 
       $this->load->view('coders-community/login', compact('login_error')); 
      } 

     } 

Мой конфигурации установка для сессии:

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 0; 
$config['sess_save_path'] = NULL; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

Может кто-нибудь сказать мне, почему TempData ТТЛ (время к проживанию) не работает & destrying сеанс tempdata после браузера закрыть эс?

+0

темп сеанса держать только один обновления при загрузке страницы сайта –

+0

Так @Abdulla Nilam /, есть в любом случае, чтобы установить одну сессию до браузера близко и другой до определенного времени? –

+0

Вы не установили пример пути сохранения '$ config ['sess_save_path'] = APPPATH. 'cache /'; ' – user4419336

ответ

0

Попробуйте это. Просто установите $config['sess_expiration'] с определенным количеством времени.

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200;//sets session for 2 hours 
$config['sess_save_path'] = NULL; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 
+0

Я пробовал это, но он устанавливает срок действия как для tempdata, так и для userdata, но я не хочу этого –

+0

. Затем вы хотите уничтожить сеанс после закрытия браузера. –

+0

Я хочу уничтожить userdata после закрытия браузера & tempdata после определенного времени, а не после закрытия браузера –

 Смежные вопросы

  • Нет связанных вопросов^_^