php $ REQUEST не содержит cookies
У меня есть такой простой код:
<?php
setcookie("user","test", time() + 3600);
echo $_REQUEST['user']."<br>";
echo $_COOKIE['user'];
?>
И вот результат:
Notice: Undefined index: user in D:interpubwwwrootlivecookie.php on line 3
test
Я запускаю его на IIS 7.5. Я перезагрузил страницу, и я уверен, что браузер отправляет файл cookie в php-файл (потому что он у меня есть в $_COOKIE). Так почему же в $_REQUEST нет этого печенья?
2 ответов:
$_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
Файлы cookie не отправляются до тех пор, пока не будут отправлены следующие заголовки .. вы не сможете увидеть их, пока страница не перезагрузится.
Comments