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
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
$_REQUEST
Референца за `reserved.variables.request.php` со подобрена типографија и навигација.
$_REQUEST
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
$_REQUEST — HTTP променливи на барањето
Белешки
Забелешка:
Ова е 'суперглобална', или автоматска глобална, променлива. Ова едноставно значи дека е достапна во сите опсези низ скрипт. Нема потреба да се global $variable; за пристап до неа во функции или методи.
Забелешка:
Кога работи на командна линија , ова ќе not ги вклучува argv and argc записи; тие се присутни во $_SERVER array.
Забелешка:
Променливите во $_REQUEST се обезбедуваат на скриптата преку GET, POST и COOKIE механизмите за внесување и затоа можат да бидат изменети од далечински корисник и не може да им се верува. Присуството и редоследот на променливите наведени во овој array се дефинирани според PHP request_orderПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во variables_order директивите за конфигурација.
Види Исто така
Белешки од корисници 4 белешки
In PHP version 7.0 with the default settings.+, $_REQUEST array does not contain cookies.The default php.ini on your system as of in PHP 5.3.0 may exclude cookies from $_REQUEST. The request_order ini directive specifies what goes in the $_REQUEST array; if that does not exist, then the variables_order directive does. Your distribution's php.ini may exclude cookies by default, so beware.To access $_POST, $_GET, etc, use the function filter_input(TYPE, varname, filter) to ensure that your data is clean.
Also, I was brought up to believe that modifying superglobals is a BAD idea. I stand by this belief and would recommend you do too