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 — Variables de requête HTTP
Description
Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE.
Historique
| Version | Description |
|---|---|
| 5.3.0 | Introduction de request_order. Cette directive affecte le contenu de la variable $_REQUEST. |
| 4.3.0 | Les informations de $_FILES ont été supprimées de la variable $_REQUEST. |
| 4.1.0 | Introduction de $_REQUEST. |
Notes
Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.
Note: En ligne de commande, cette variable n'inclut pas les variables argv et argc : elles sont stockées dans le tableau $_SERVER.
Note: Les variables contenues dans $_REQUEST sont fournies au script via les méchanismes d'entrée GET, POST, et COOKIE et donc, peuvent être modifiées par l'utilisateur final ; aussi, vous ne pouvons faire confiance à leurs contenues. La présence ainsi que l'ordre de ces variables dans ce tableau sont définis suivant la directive de configuration variables_order.
$_REQUEST
17-Jul-2008 08:04
