Page 1 sur 1

Accès direct aux variables contenues dans $_GET

Posté : 10 août 2015, 20:46
par Rukien
Bonsoir,

Sous l'abus de langage qui se trame dans le titre de ce thread, je recherche une info :
Je suis en train de retaper un script assez vieux et visiblement, il y a un comportement qui permet de créer une variable $variable s'il existe un index 'variable' dans la superglobale GET. Je n'ai pas trouvé de traces de fonction écrite en PHP qui permettrait de réaliser ça. Il me semble qu'il existe une directive permettant cette vilainie, mais je n'ai pas réussi à la retrouver...
En gros, là ou je devrais accéder à une variable par $_GET['variable'], je peux faire $variable directement. C'est codé comme ça, je trouve ça absolument moche mais si je veux avoir une idée de ce à quoi ressemble l'appli pendant que je retape le tout, je vais devoir le faire, ne serait-ce que ponctuellement. Une idée ?

Merci bien !

Re: Accès direct aux variables contenues dans $_GET

Posté : 10 août 2015, 22:02
par @rthur
Bonsoir,

Il s'agit de la directive register_globals qui est passé de On à Off dans PHP 4.2 (avril 2002 !) et a été complètement retirée en PHP 5.4.

Si tu as une version de PHP < 5.4 :arrow: tu peux la réactiver.
Si tu as une version PHP > 5.4 :arrow: tu peux faire un include en début de tout tes fichiers d'un script qui va te faire un foreach() sur $_GET pour assigner chaque variable avec sa valeur dans $_GET[*]

Quoiqu'il en soit je nierai, même sous la torture t'avoir fait cette réponse, la seule réponse acceptable étant de recoder tes scripts proprement parce que du code de 2002 c'est super crado et risqué à reprendre. :)

Re: Accès direct aux variables contenues dans $_GET

Posté : 10 août 2015, 22:29
par Rukien
Yes c'est bien ça !
Un grand merci : je savais que ça existait mais plus moyen de remettre un nom sur cette directive. Je crois que c'est l'un des plus vieux fossiles du PHP auquel j'ai été confronté, mais certainement pas le dernier ni le plus ancien.

Je vais pouvoir continuer mon grand ménage from scratch. Promis, pour la réponse ça reste ici. :wink:

Re: Accès direct aux variables contenues dans $_GET

Posté : 10 août 2015, 22:42
par Sékiltoyai
Bonjour,
Encore plus court, la même idée avec la fonction extract() au lieu d'un foreach !
http://php.net/manual/fr/function.extract.php

Cordialement

Re: Accès direct aux variables contenues dans $_GET

Posté : 10 août 2015, 23:42
par @rthur
Bonjour,
Encore plus court, la même idée avec la fonction extract() au lieu d'un foreach !
http://php.net/manual/fr/function.extract.php

Cordialement
Bien vu ! :)