Почему срок действия файла cookie истекает немедленно? - PullRequest
1 голос
/ 30 января 2012

В своем коде (тестирование на моем локальном компьютере с доменом localdev.xxx.com) я использую следующий код для установки файла cookie в браузере, срок действия которого истекает через 6 месяцев:

$cookieExpiresOn = time() + (60 * 60 * 24 * 184);
setcookie("ref", "somevalue", $cookieExpiresOn);

однако, когда я проверяю http-ответ с помощью firebug, заголовок set-cookie имеет дату, установленную на 1 января 1970 года.

Set-Cookie: ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT;

Разве функция time() не должна возвращать текущую дату и время со времени эпохи Unix? Почему это происходит?

1 Ответ

5 голосов
/ 30 января 2012

Нашел, в чем проблема. В моем реальном коде значение устанавливалось через переменную, например:

setcookie("ref", $varx, $cookieExpiresOn);

Очевидно, что если значение cookie является пустой строкой, php пытается удалить cookie, установив дату его истечения до текущего времени по Гринвичу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...