Почему данный код работает только после 2ой перезагрузки страницы? Сooke создается после первой загрузки страницы, но if блок почему-то не видит cookie во время первой загрузки страницы. Как это можно исправить? Использовать сессии нет возможности. Ps: это упрощённый вариант моего кода с таким же принцем работы.
setcookie("test", "tsst", time()+10, "/");
if (isset($_COOKIE['test'])) {
echo "ok";
}
Кука не установлена до тех пор, пока ответ не будет отправлен обратно клиенту и не будет доступен на вашем PHP до следующего запроса от клиента после этого.
Можно попробовать так:
setcookie('test', $value, time() + 10, "/");
$_COOKIE['test'] = $value;
upd: Вы можете установить $_COOKIE['test'] самостоятельно или использовать промежуточную переменную.
if (isset($_COOKIE['test'])) {
$value = $_COOKIE['test'];
} else {
setcookie('test', $value, time() + 10, "/");
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости