Don't forget, because $_REQUEST is a different variable than $_GET and $_POST, it is treated as such in PHP -- modifying $_GET or $_POST elements at runtime will not affect the ellements in $_REQUEST, nor vice versa.
e.g:
<?php
$_GET['foo'] = 'a';
$_POST['bar'] = 'b';
var_dump($_GET); // Element 'foo' is string(1) "a"
var_dump($_POST); // Element 'bar' is string(1) "b"
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'
?>
If you want to evaluate $_GET and $_POST variables by a single token without including $_COOKIE in the mix, use $_SERVER['REQUEST_METHOD'] to identify the method used and set up a switch block accordingly, e.g:
<?php
switch($_SERVER['REQUEST_METHOD'])
{
case 'GET': $the_request = &$_GET; break;
case 'POST': $the_request = &$_POST; break;
.
. // Etc.
.
default:
}
?>
$_REQUEST
$_REQUEST — Променливи от HTTP заявката
Дневник на промените
| Версия | Описание |
|---|---|
| 5.3.0 | Въведена е request_order. Тази директива повлиява съдържанието на $_REQUEST. |
| 4.3.0 | Информацията за $_FILES е премахната от $_REQUEST. |
| 4.1.0 | Въведена е $_REQUEST. |
Бележки
Забележка: Това е 'свръхглобална' или автоматично глобална променлива. Това просто означава, че тя е налична във всички обхвати навсякъде из скрипта. Не е нобходимо да правите global $variable;, за да я достъпвате от тялото на функции и методи.
Забележка: При работа на командния ред , argv и argc няма да бъдат включени в масива $_REQUEST. Те са налични в $_SERVER.
Забележка: Променливите в $_REQUEST са предадени към скрипта посредством входящите механизми GET, POST и COOKIE и следователно биха могли да бъдат променени от отдалечения потребител, което означава, че на тях не може да се има доверие. Наличието и редът на включване на променливи в този масив се дефинират съгласно конфигурационната директива на PHP variables_order.
$_REQUEST
17-Jul-2008 06:04
