Cookies, как правило, трудно отлаживать, когда они работают неправильно.То, что вы описываете, похоже, связано с кэшированием, но это звучит очень странно.
Вот что вы можете попробовать сделать, чтобы понять, что не так.
- Убедитесь, что вы устанавливаете куки в правильном домене и пути.Если ваша страница, например, на
www.example.com
, домен должен быть .example.com
или www.example.com
.Идея та же для пути (если вы обращаетесь к www.exampl.com/path
, то путь должен быть либо /
, либо /path
- . Если вам нужен файл cookie, доступный на http, вам не следует устанавливатьАтрибут
secure
. - Убедитесь, что срок действия файла cookie еще не истек, если он установлен, браузеры, вероятно, проигнорируют его, если он установлен.
Несколько основных вещей, которые нужно проверить.
Предположим, что у вас есть строка cookie:
setcookie('name', 'value', time()+10000,'/test','.example.com');
Откройте консоль разработчика Chrome (или вашего любимого браузера) и, когда вы делаете запрос, проверяете устанавливаемые файлы cookie.строки:
Продолжительность не должна быть 0, а остальные должны быть правильными.
Когда вы делаете следующий запрос,Также необходимо отправить файл cookie.
Это должна быть запись в «Запросе cookie».
Если файл cookieполучил, но не отправил на сервер, возможно, стоит открыть настройки браузеранайти вручную сохраненные куки-файлы, чтобы понять, почему это происходит.В chrome это будет в chrome://settings/siteData
Если вы все равно не найдете ничего плохого в этом, то проверьте, не запущен ли какой-либо промежуточный слой кэширования, который переопределит заголовок No-Cache
, который вы устанавливаете.