Проблемы с cookie

257
16 октября 2018, 01:40

Почему данный код работает только после 2ой перезагрузки страницы? Сooke создается после первой загрузки страницы, но if блок почему-то не видит cookie во время первой загрузки страницы. Как это можно исправить? Использовать сессии нет возможности. Ps: это упрощённый вариант моего кода с таким же принцем работы.

 setcookie("test", "tsst", time()+10, "/");
 if (isset($_COOKIE['test'])) {
echo "ok";
 }
Answer 1

Кука не установлена до тех пор, пока ответ не будет отправлен обратно клиенту и не будет доступен на вашем 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, "/");  
}
READ ALSO
Symfony 4 массовое редактирование записей

Symfony 4 массовое редактирование записей

подскажите пожалуйста, интегрировал функцию edit из документации по Form Collections из (http://symfonycom/doc/current/form/form_collections

191
вывод данных из нескольких таблиц сразу

вывод данных из нескольких таблиц сразу

Имеется несколько таблиц, с данными пользователяВ первой его основные данные, во второй его телефоны, в третьей его майлы, в четвёртой контактные...

184
проблема с удалением кук

проблема с удалением кук

Ситуация такая

170
Cron в Laravel 5 (Linux)

Cron в Laravel 5 (Linux)

Мне нужно сделать так, чтобы задача в Cron выполнялась каждые n минут, причем n может быть от 1 до бесконечностиЭто число указывается в переменной...

144