Почему count ($ _ COOKIE)> 0 возвращает «истинный» регистр, а все куки удаляются? - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь удалить файл cookie, установив этот файл cookie в прошлый раз:

$cookie_name = "user";
$cookie_value = "david";
//subtraction from time causes deletion of cookie 
setcookie($cookie_name, $cookie_value, time() - (86400 * 30), "/"); 

С помощью приведенного ниже кода я пытаюсь проверить, включен ли файл cookie, и он возвращается, если регистр, а не частьв то время как я уже делаю этот cookie:

//counting number of cookies
if(count($_COOKIE) > 0) {
    echo "<br>Cookies are enabled/exists";
} else {
    echo "<br>Cookies are disabled/not exists";
}

Но остальная часть не работает, когда мы удаляем cookie, и я не знаю почему?

1 Ответ

0 голосов
/ 02 октября 2018

Основная проблема в том, что вы просто устанавливаете user время cookie на прошлую дату , а не все остальные cookie в суперглобальном массиве $_COOKIE.Попробуйте подобным образом установить для всех значений $_COOKIE, используя foreach() к предыдущей дате, а затем проверьте условие count.

<?php
$cookie_name = "user";
$cookie_value = "david";
$past_time = time() - 3600;
//use look set all cookie time to past date. 
foreach ( $_COOKIE as $key => $value )
{
    setcookie( $key, $value, $past_time, '/' );
}

//counting number of cookies
if(count($_COOKIE) > 0) {
    echo "<br>Cookies are enabled/exists";
} else {
    echo "<br>Cookies are disabled/not exists";
}

?>

DEMO: https://3v4l.org/jvRXW

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...