PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$_SESSION> <$_FILES
Last updated: Fri, 21 Nov 2008

view this page in

$_REQUEST

$_REQUESTПроменливи от HTTP заявката

Описание

Асоциативен масив, който по подразбиране съдържа елементите на $_GET, $_POST и $_COOKIE.

Дневник на промените

Версия Описание
5.3.0 Въведена е request_order. Тази директива повлиява съдържанието на $_REQUEST.
4.3.0 Информацията за $_FILES е премахната от $_REQUEST.
4.1.0 Въведена е $_REQUEST.

Бележки

Забележка: Това е 'свръхглобална' или автоматично глобална променлива. Това просто означава, че тя е налична във всички обхвати навсякъде из скрипта. Не е нобходимо да правите global $variable;, за да я достъпвате от тялото на функции и методи.

Забележка: Когато работи на командния ред , това няма да включи argv и argc; те са налични в масива $_SERVER.

Забележка: Променливи, предоставени на скрипта посредством входящите механизми GET, POST и COOKIE, и на които поради тази причина не може да се има доверие. Наличието и редът на включване на променливи в този масив се дефинират съгласно конфигурационната директива на PHP variables_order.



$_SESSION> <$_FILES
Last updated: Fri, 21 Nov 2008
 
add a note add a note User Contributed Notes
$_REQUEST
strata_ranger at hotmail dot com
17-Jul-2008 06:04
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:
}
?>
not at important dot dig
08-Jun-2008 10:39
That would depend on your server configuration.
not at telling dot org
22-May-2008 05:05
POST has priority over GET.

If you POST and GET the same variable with different values, the POST value will be the one used in the REQUEST variable.

EX:
<?PHP
if(isset($_GET['posted']) == 1)
{
    echo
"POST: ";
   
print_R($_POST);
    echo
"<br/>GET: ";
   
print_R($_GET);
    echo
"<br/>REQUEST: ";
   
print_R($_REQUEST);
}
else
{
   
?>
    <form method="post" action="?posted=1&something=someotherval">
        <input type="text" value="someval" name="something"/>
        <input type="submit" value="Click"/>
    </form>
    <?
}
?>

The above form post will result in the following output:

POST: Array ( [something] => someval )
GET: Array ( [posted] => 1 [something] => someotherval )
REQUEST: Array ( [posted] => 1 [something] => someval )

$_SESSION> <$_FILES
Last updated: Fri, 21 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites