Page 1 sur 1

Difference entre $_GET et $_REQUEST

Posté : 17 févr. 2006, 11:27
par Scufust
Bonjour à tous,
j'ai écumé les sites sur le php mais aucun ne parle vraiment de cette différence. je l'utilise dans une de mes fonctions (pour un filtrage) et les deux marchent et je ne vois pas grande différence.
Est- ce que l'une est mieux que l'autre, et est-ce que pour la suite l'utilisation d'un des deux ne va pas me porter préjudice. ?

Merci pour les réponses ;) .... et garder la peche

Posté : 17 févr. 2006, 11:38
par HD
la reponse se trouve probablement ici :
http://qwix.media-box.net/index.php/200 ... er_request

Re: Difference entre $_GET et $_REQUEST

Posté : 17 févr. 2006, 11:41
par didgar
Bonjour à tous,
j'ai écumé les sites sur le php mais aucun ne parle vraiment de cette différence. je l'utilise dans une de mes fonctions (pour un filtrage) et les deux marchent et je ne vois pas grande différence.
Est- ce que l'une est mieux que l'autre, et est-ce que pour la suite l'utilisation d'un des deux ne va pas me porter préjudice. ?

Merci pour les réponses ;) .... et garder la peche
Salut !

$_GET ne concerne que les variables passées par l'url. $_POST celles qui sont passées par formulaire dont la methode est POST bien sur !

$_REQUEST récupère les deux ! /!\ Il y a une histoire de priorité quand on utilise $_REQUEST. En gros si $_GET['toto'] et $_POST['toto'] arrivent sur la même page, une seule sera traitée.

A+

Didier

Merci

Posté : 17 févr. 2006, 11:55
par Scufust
Ok ok ok .... Merci à toi Didgar ....
tres simple cette réponse et surtout très clair .. ca fait plaisirs ...

Ok probleme résolu

Posté : 17 févr. 2006, 12:01
par HD
eh ben c'est sympa
et ca ca compte pour du beurre :
$_REQUEST c'est quoi ?
$_REQUEST fait partie des variables superglobales de PHP. Elle permet de récupérer des variables fournies au script par n'importe quel mécanisme d'entrée. Autrement dit elle remplace gracieusement $_POST, $_GET, $_ENV, $_COOKIE, $_SESSION.
Cependant les données sont récupérées selon un certain ordre, celui prédéfini par la directive 'variables_order' du php.ini, vous pouvez par exemple avoir ceci:
variables_order = "EGPCS"

Avec:
- E pour les variables d'environnement
- G pour les variables provenant de la méthode GET
- P pour les variables provenant de la méthode POST
- C pour les variables provenant d'un cookie
- S pour les variables de session

Autrement dit dans ce cas les données seront traitées dans cette ordre:
1 - variable d'environnement
2 - variables GET
3 - variables POST
4 - cookies
5 - variables de sessions

Il vous est bien sûr possible de changer l'ordre comme vous le souhaitez, mais ce n'est à mon sens pas ce qu'il y a de mieux à faire.


Pourquoi ne pas utiliser cette superglobale ?
Tout simplement à cause de l'ordre des variables cité ci-dessus, prenons un exemple simple(...)
:tir2: