Мгновенная установка кук в PHP

Для того, чтобы установленная кука сразу появилась в массиве $_COOKIE можно использовать хитрый прием. Суть приема следующая: сначала установим куку с помощью setcookie, а потом вручную запишем ее в массив $_COOKIE:

<?php setcookie('str', 'eee'); $_COOKIE['str'] = 'eee'; var_dump($_COOKIE['str']); // сразу выведет 'eee' ?>

Чтобы кука каждый раз не отправлялась в браузер, можно запись куки сделать внутри условия. Если такой куки нет, то запишем ее:

<?php if (!isset($_COOKIE['str'])) { // если куки нет setcookie('str', 'eee'); $_COOKIE['str'] = 'eee'; } echo $_COOKIE['str']; // выведет 'eee' ?>

Давайте обсудим как это работает. При первом заходе на страницу мы попадем в if, установим куку в браузер и сразу запишем в $_COOKIE. Далее через echo выведется вручную записанное нами значение.

При следующих заходах на страницу мы не попадем в if, но в $_COOKIE будет содержаться наша кука, уже пришедшая из браузера. Таким образом, и при первом заходе, и при последующих в $_COOKIE будет находится наша кука.

Опробуйте описанный прием.



Чат с GPT Компилятор