Почему куки не удаляются?

1

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

    setcookie(session_name(),$sessionID,time() + 30*24*3600,'/');
    setcookie('UserID',$result[0]['UserID'],time() + 30*24*3600,'/');
    setcookie('UType',$result[0]['UType'],time() + 30*24*3600,'/');
    setcookie('Username',$Username,time() + 30*24*3600,'/');

Файл выхода:

function unsetCookie() {
    foreach($_COOKIE as $key => $value) {
        // $_COOKIE[$key] contains the cookie name as expected
        setcookie($_COOKIE[$key],'',time()-(40*24*3600),'/');
    }
}

unsetCookie();
session_start();
session_destroy();
header('Location: '.$loginPage);
exit();

Но после перенаправления в файле выхода cookies все еще не удаляются. Что может быть причиной этого?

  • 0
    @Marged Цикл имеет правильные значения
Теги:
cookies

2 ответа

4
Лучший ответ

$_COOKIE[$key] содержит значение вашего файла cookie, а не ключа, поскольку это $key.

Таким образом, вам понадобится:

setcookie($key,'',time()-(40*24*3600),'/');
  • 1
    @SuhailGupta А, я вижу: «Цикл имеет правильные значения» ;-)
  • 1
    Ах, эх! Спасибо!!
1

Установите значение "" и дату истечения срока действия до вчерашнего дня (или любую дату в прошлом)

Попробуйте этот код:

setcookie("UserID", "", time()-(40*24*3600));
setcookie("UType", "", time()-(40*24*3600));
setcookie("Username", "", time()-(40*24*3600));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню