не может прочитать значение cookie после закрытия и повторного открытия браузера, в переполнении стека

Я пытался выяснить, как isset () и empty () связаны с setcookie () и $ _COOKIE []. Но я наткнулся на блокпост на пути.

Вот мой test.php

<?php

//initialize cookie
$expiry = time()+60*60*9000;
setcookie('name1', '4', $expiry, '/', '', '', TRUE);

if (isset ($_COOKIE['name1'])) {

echo 'cookievalue ' . $_COOKIE['name1'];

} else {

echo 'cookie value not set';

}if (!empty ($_COOKIE['name1'])) {

echo 'cookievalue ' . $_COOKIE['name1'];

} else {

echo 'cookie value empty';

}

?>

Вот мой test1.php

<?php

if (isset ($_COOKIE['name1'])) {

echo 'cookievalue ' . $_COOKIE['name1'];

} else {

echo 'cookie value not set';

}if (!empty ($_COOKIE['name1'])) {

echo 'cookievalue ' . $_COOKIE['name1'];

} else {

echo 'cookie value empty';

}

echo 'cookievalue ' . $_COOKIE['name1'];?>

Когда я впервые загружаю test.php, а потом test1.php, Кажется, все работает нормально. То есть, test1.php может прочитать переменную $ _COOKIE [], которая была установлена ​​в test.php через setcookie (). (Хотя, как и ожидалось, test.php нужно было обновить один раз, прежде чем значения cookie были выведены в test.php.)

Однако, если я закрою браузер и снова открою его, а затем просто запустите test1.php, Я получаю уведомление «Неопределенный индекс» для name1 в $ _COOKIE [‘name1’].

Почему не могу test1.php подобрать переменную $ _COOKIE, определенную до закрытия браузера? Файл cookie все еще должен храниться на компьютере. Почему он не может извлечь значение cookie из него после закрытия и повторного открытия браузера?

1

Решение

Отвечая на мой собственный вопрос.

Благодаря @Dagon попробовал это с помощью другого браузера. Работает в другом браузере (Firefox). Он не работал в моем браузере Chrome (я подозреваю, что в Chrome есть какое-то расширение против cookie, которое удаляет cookie — или что-то в этом роде).

1

Другие решения

Вам не нужно isset () так просто, как

if ($_COOKIE['name1']) {
-1

По вопросам рекламы [email protected]