Функция setcookie и phpinfo в php не работают, но работают в localhost - PullRequest
0 голосов
/ 28 мая 2018

Я пытался написать код, который устанавливает cookie и проверяет, если isset этот файл cookie показывает массаж "cookie create", иначе показывает "cookie not create", но он не работает, этот код в localhost работает правильно.

<html>
<head>
<?php setcookie("a","abcdef",time()+3600); ?>
</head>
<body>
<?php 
phpinfo(); 

if(isset($_COOKIE['a']))
{
echo $_COOKIE["a"];
}
else
{
echo "no cookie";
}
?>
</body>
</html>

1 Ответ

0 голосов
/ 29 мая 2018

Как ответили на этот другой вопрос о переполнении стека, PHP - setcookie (); не работает, ваше приложение PHP выдает HTML-код перед попыткой установить cookie:

<html>  <------- oh no!
...
<?php setcookie("a","abcdef",time()+3600); ?>

На этом этапе PHP уже завершил отправку заголовков HTTP (непутайте с тегом HTML <head>), и файл cookie не может быть установлен (что необходимо сделать как часть заголовков HTTP).

Сначала установите файл cookie, и все будет в порядке:

<?php setcookie("a","abcdef",time()+3600); ?>
<html>
...

Убедитесь, что вы звоните setcookie() перед любым другим выводом (без HTTP-заголовка).

...