Cookie удаляется при перезапуске браузера - PullRequest
1 голос
/ 22 июня 2011

Файл cookie, который я установил в codeigniter, удаляется после перезапуска браузера. Я настраиваю печенье вроде:

$test_cookie = array(
                    'name'=>'test',
                    'value'=> 'test',
                    'expire'=> time() + 60*60*24*14
                );

$this->input->set_cookie($test_cookie);  

Возвращает print_r($test_cookie):

Array ( [name] => test [value] => test [expire] => 1309943188 ) 

Теперь я могу распечатать куки, чтобы убедиться, что куки установлены:

$test_cookie= $this->input->cookie('test');
echo "<b> Cookie value: </b>". $test_cookie;

Файл cookie печатает значение правильно.

Однако, если я перезагружаю браузер, я больше не получаю значение cookie. Я пробовал несколько браузеров. С var_dump я получаю: bool(false) Почему cookie удаляется при перезапуске браузера?

Спасибо.

1 Ответ

4 голосов
/ 22 июня 2011

В документации CodeIgniter говорится, что значение expires добавляется к текущему времени. Таким образом, значение expires в вашем случае равно time() + time() + 60*60*24*14. Это может быть выше 32-разрядного целочисленного предела и может стать отрицательным значением. Это, в свою очередь, приведет к временному cookie, который будет удален при закрытии браузера.

$test_cookie = array(
  'name'=>'test',
  'value'=> 'test',
  'expire'=> 60*60*24*14
);

должно работать. Я думаю.

...