Почему значение cookie не устанавливается после пропуска или добавления пустого пробела (») в качестве параметра ‘expire’ в функции setcookie ()?

я использую PHP 7.2.0

Я хочу опустить параметр expire в setcookie() при настройке куки, поэтому я попробовал приведенный ниже код и получил ошибку Parse в выводе.

<!DOCTYPE html>
<?php
$cookie_n = "user";
$cookie_value = "John Doe";
setcookie($cookie_n, $cookie_value, , "/");
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_n])) {
echo "Cookie named '" . $cookie_n . "' is not set!";
} else {
echo "Cookie '" . $cookie_n . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_n];
}
?>

<p><strong>Note:</strong> You might have to reload the page to see the value of the cookie.</p>

</body>
</html>

Выход :
Ошибка разбора: синтаксическая ошибка, неожиданная ‘,’ в … в строке 5

Тогда я попробовал с ниже setcookie() код, но я получил предупреждение, и печенье не было установлено:

setcookie($cookie_n, $cookie_value, '' , "/");

Выход :

Warning: setcookie() expects parameter 3 to be integer, string given in ... on line 5
Cookie named 'user' is not set!

Note: You might have to reload the page to see the value of the cookie.

Из руководства рассмотрим ниже текст о параметре expire,

Если установлено значение 0 или опущено, срок действия файла cookie истекает в конце
сеанс (когда браузер закрывается).

Итак, в соответствии с этим я попробовал код, но он не работает и генерирует ошибку разбора и уведомление. Пожалуйста, кто-нибудь, помогите мне и исправьте ошибку, которую я делаю в своем коде.

Я также хочу знать, будет ли значение cookie, установленное путем пропуска значения параметра expire, работать после закрытия только соответствующей вкладки браузера, а не всего веб-браузера?

Могу ли я установить куки из командной строки? Если да, то как? Если нет, почему?

Благодарю вас.

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

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