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

search for in the

$_SESSION> <$_FILES
Last updated: Fri, 15 Aug 2008

view this page in

$_REQUEST

$_REQUESTHTTP Request variables

Description

An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.

ChangeLog

Version Description
5.3.0 Introduced request_order. This directive affects the contents of $_REQUEST.
4.3.0 $_FILES information was removed from $_REQUEST.
4.1.0 Introduced $_REQUEST.

Notes

Note: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Note: When running on the command line , this will not include the argv and argc entries; these are present in the $_SERVER array.

Note: Variables provided to the script via the GET, POST, and COOKIE input mechanisms, and which therefore cannot be trusted. The presence and order of variable inclusion in this array is defined according to the PHP variables_order configuration directive.



$_SESSION> <$_FILES
Last updated: Fri, 15 Aug 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, 15 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites