2016-12-12 2 views
1

Я пытаюсь сохранить сеанс, срок его действия истек после обновления страницы.Сессия истекло после обновления с помощью Codeigniter

В мой контроллер:

if($u_id){ 
       $data= array(
        'id'=>$u_id['id'], 
        'user_name'=>$u_id['user_name'], 
        'password'=>$password, 

       ); 

       $this->session->set_userdata('logged_in',$data); 
       $this->session->set_flashdata('login_succeed','Logged in Successfully'); 
       redirect('home/homepage'); 
      } 

И на мой взгляд домашней страницы:

if (isset($this->session->userdata['logged_in'])){ 
         echo $this->session->userdata['logged_in']['user_name'];} 

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

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

Первый раз, когда перенаправляет меня на домашнюю страницу, сеанс правильно и он дал мне имя пользователя отлично, но когда я обновляю страницу, сеанс истек и перенаправляет меня на страницу входа в систему е. Должен ли я что-то делать в конструкции или что я могу сделать? пожалуйста помоги! Я использую codeigniter

+0

Есть ли ошибка в представлении? – Elymentree

+0

@Elymentree Нет, он работает в первый раз, когда я входил, но когда я обновляю страницу, сеанс истек и перенаправляет меня снова на страницу входа. –

ответ

0

Вы не установили путь сохранения. Я поставил шахту в кеш, но вы можете выбрать, где вы хотите.

$config['sess_save_path'] = APPPATH . 'cache/sessions/'; 

Или вы можете использовать FCPATH

$config['sess_save_path'] = FCPATH . 'application/cache/sessions/'; 

Устанавливаются разрешения для папки сеансов 0700

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