2013-05-03 3 views
0
  $value = array(
      'id'  => $data['id'] , 
      'username' => $data['username'] , 
      'email' => $data['email'] , 
      'last_ip' => $this->input->ip_address() 

     ); 

     $value = serialize($value); 

     $cookie = array (
      'name' => 'is_logged' , 
      'value' => $value , 
      'expire' => time()+86400 , 

     ); 

     set_cookie($cookie); 

У меня есть функция для проверки кукипотери куки после закрытия браузера

function get_k(){ 

    $k = get_cookie('is_logged'); 
    var_dump($k); 

} 

это работает отлично после входа в то время как браузер по-прежнему открыт, но если я закрыть браузер, он не работать больше

мой конфиг

$config['cookie_prefix'] = ""; 
$config['cookie_domain'] = ""; 
$config['cookie_path']  = "/"; 
$config['cookie_secure'] = FALSE; 

я работаю на локальном хосте/светлячок

+0

Возможно, ваш браузер настроен, чтобы удалить cookies после его выхода? – Chad

+0

в вашем конфиге вы установили конфигурацию для удаления файлов cookie, когда браузер закрыт до истины? – tomexsans

+0

Это может быть дубликат этого вопроса http://stackoverflow.com/questions/6290502/codeigniter-cookie-expiry-problem –

ответ

0

Удалить time() из значения «expire», CodeIgniter добавляет это автоматически.

У вас также есть паразитная запятая после истечения срока действия.

+0

Я собираюсь попробовать, но если это была проблема, я бы не дошел до cookie, пока браузер все еще открыт – max

+0

Ни одна из этих вещей не имеет значения. Он добавляет ценность к времени, поэтому в основном захватывает текущее время и добавляет 86400 секунд. Кроме того, поскольку запятая, которую вы указали, находится в конце элемента массива, это не вызовет никаких проблем. – Chad

+0

Вы будете удивлены ... – Ryan

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