У меня есть сайт с возможностью «оставаться в системе». Когда опция включена, я устанавливаю куки на один месяц примерно так:
$expire = time()+60*60*24*30;
setcookie("user_ID", $userid, $expire);
setcookie("u", $username, $expire);
etc.
Затем у меня есть сценарий выхода из системы, чтобы уничтожить файлы cookie, для которого задано нулевое значение и истекает один час в прошлом.
$expire2 = time()-60*60;
foreach ($_COOKIE as $c_id => $c_value)
{
setcookie($c_id, NULL, $expire2);
}
Когда я запускаю скрипт выхода из системы, Firebug говорит следующее:
Set-Cookie
идентификатор пользователя = удален; истекает = вт, 02.02.2010 16:43:15 GMT
и = исключить; истекает = вт, 02.02.2010 16:43:15 GMT
Но когда я возвращаюсь на главную или любую другую страницу, я все равно захожу! Единственный раз, когда я устанавливаю cookie, это когда я запускаю скрипт входа в систему, так почему же они не умрут? Может ли это иметь какое-либо отношение к местному времени, которое отстает от GMT?