php $ _REQUEST не содержит куки - PullRequest
5 голосов
/ 19 января 2012

У меня есть такой простой код:

<?php
setcookie("user","test", time() + 3600);
echo $_REQUEST['user']."<br>";
echo $_COOKIE['user'];
?>

и вот результат:

Notice: Undefined index: user in D:\interpub\wwwroot\live\cookie.php on line 3 
test

Я использую его на IIS 7.5. Я перезагрузил страницу и уверен, что браузер отправляет cookie в файл php (потому что он у меня в $ _COOKIE). Так почему же $_REQUEST не содержит этот файл cookie?

Ответы [ 2 ]

18 голосов
/ 19 января 2012

$_REQUEST в более новых установках PHP содержит только $_GET и $_POST.

С типичным PHP 5.3 php.ini $_COOKIE исключается оттуда request_order=GP.
См. http://php.net/manual/en/ini.core.php#ini.request-order
И http://php.net/manual/en/ini.core.php#ini.variables-order

10 голосов
/ 19 января 2012

COOKIE не отправляются до тех пор, пока не будут отправлены следующие заголовки. Вы не сможете их увидеть до перезагрузки страницы.

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