Я действительно не знаю, в чем проблема.setcookie не удаляет cookie
У меня есть сценарий под названием «login.php», который отлично работает. Это называется с AJAX, и если она возвращает успешно, страница обновляется и пользователь вошел в систему. Куки устанавливается на этой странице с
setcookie("main", $row[0], time() + 3600, "/")
Тогда я сценарий под названием «logout.php». Он называется тем же способом (AJAX, а затем обновление страницы). Она имеет только две строки:
<?php
setcookie("main", "", time() - 3600, "/");
echo "Done";
?>
Вызов его формирования страницы не работает, так что я только что загрузили logout.php в браузере. Результат был «выполнен», но проверка моих файлов cookie в Chrome показала мне, что файл cookie по-прежнему установлен в «1» (который был $ row [0]) и истекает в момент, установленный в login.php.
login.php и logout.php находятся в одной и той же папке, корневой каталог, который является той же папкой, что и все остальное.
Раньше это работало, но единственные изменения, которые я сделал, - сделать заголовок на веб-сайте собственным файлом (все еще в корневом каталоге) и использовать функции JavaScript для кнопки «Выход», которая просто вызов AJAX и некоторые эффекты зависания jQuery, и сделайте его собственным файлом сценария, который находится в папке _js. Но я вообще не изменил logout.php, поэтому он должен работать, когда я перехожу непосредственно к нему, не так ли? Что-то не так с моей командой setcookie, или что другая проблема может вызвать ее?
EDIT: Я попытался установить его на 100 секунд вместо -3600, а затем попытался изменить его имя, чтобы распознать его как полностью отдельный файл cookie. Ни один из них не появился. Файл cookie просто не устанавливается.
EDIT 2: Я вернулся к последнему фиксации, и все снова работает. Я не знаю, почему реорганизация моего сайта, создавая некоторые новые файлы (logout.php не изменяется вообще) делает определенный скрипт неспособным создавать куки.
Вы уверены, что вы вызываете на том же домене? Может быть, вы установите печенье на www.domain.com и вы хотите удалить он на domain.com? –
Я установил их как на «/», так что это должно быть одно и то же, верно? Они оба в одной папке. –
Нет, это путь, домен может быть другим. установите cookie на www.domain.com, чем он не будет доступен с сайта domain.com, хотя они являются одним и тем же доменом, но в теории нет. Поэтому, если вы настроили домен как www.domain.com/login.php, чем скрипт php logout должен быть вызван с www.domain.com/logout.php не domain.com/logout.php –