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