Проблемы с удалением куки файла при первой загрузке страницы

168
18 октября 2018, 04:30

Удаляю куки файл следующим действием:

setcookie("non_reg_user", " ", time() - 30, "/");

Далее ниже по коду у меня идёт if блок который проверяет удалён ли куки:

setcookie("non_reg_user", " ", time() - 30, "/");
if (!isset($_COOKIE['non_reg_user'])) {
echo "cookie is gone!";
}

проблема в том, что if блок срабатывает только после 2 перезагрузки страницы. Как можно сделать так что бы if блок срабатывал во время первой загрузки страницы?

Answer 1

В вашем случае, без костылей - никак.

Надо понимать как работают куки, удаление куков - приходит в ответе сервера, но уже до этого от клиента пришли куки с вашим элементом. Все что вам остается - это ручками обнулять массив.

setcookie("non_reg_user", " ", time() - 30, "/");
unset($_COOKIE['non_reg_user']);

Это костыльно, но вот так вот. Можно найти либу нормальную, или самим разработать класс который будет такое делать, и красивее будет выглядеть.

READ ALSO
Не могу получить Country и Code

Не могу получить Country и Code

Не могу получить данные Country и Code

181
Yii2 Authclient OAuth2 авторизация по средством отправки clientId и clientSecret в заголовке запроса

Yii2 Authclient OAuth2 авторизация по средством отправки clientId и clientSecret в заголовке запроса

При расширение проекта был разработан отдельный сервис на java, для аутентификации требуется зашифровать clientId и clientSecret в Base64 и отправить в заголовке...

173
Ошибка Unknown column 'extension' in 'where clause' [закрыт]

Ошибка Unknown column 'extension' in 'where clause' [закрыт]

Подскажите в чём проблема, пожалуйста

172