Méthode GET

Méthode GET - PHP - Programmation

Marsh Posté le 23-05-2006 à 16:31:11    

Bonjour,
 
je voudrais pouvoir récupérer mes variables passées en GET sans passer par $_GET[] mais simplement par $nom_variable. Mais cela ne fonctionne pas !
Avez-vous une solution ? (version de PHP, ...)
 
Merci !
 
A+

Reply

Marsh Posté le 23-05-2006 à 16:31:11   

Reply

Marsh Posté le 23-05-2006 à 16:33:10    

$nom_variable = $_GET['ta_variable'];
 
et $nom_variable est égal a ton get pour la suite de ton script..  
 
j'espere avoir bien répondu a ta question

Reply

Marsh Posté le 23-05-2006 à 17:27:03    

Sinon changer dans la confi de php la valeur de register_globals, mais comme indiqué dans celle-ci c'est mauvais pour la sécurité et les performances.

Reply

Marsh Posté le 23-05-2006 à 18:23:19    

utilise $_REQUEST :D
 
Voir extract() et import_request_variables() en ayant bien conscience des risques.

Reply

Marsh Posté le 23-05-2006 à 19:21:15    

Merci à tous les 3 de vos réponses rapides.
En fait, je voudrais savoir si c'est possible (en changeant la conf de PHP ?) que lorsque l'on passe un paramètre ?param1=XX on puisse le récupérer simplement (par exemple faire echo $param1 pour l'afficher directement et pas en faisant echo $_GET['param1']).
En fait, j'ai un bout de code qui fait simplement ça et qui fontionne sur un Apache mais pas sur l'autre !!! c'est pour cela que je me disais que ça pouvait venir de la configuration.
Si vous avez une solution, merci encore !

Reply

Marsh Posté le 23-05-2006 à 19:28:35    

dwogsi a répondu dans ce cas : passer à on la valeur du register_globals du php.ini de l'apache qui refuse ton code.
 
Mais c'est un sacré trou de sécurité, et pas forcément faisable chez un hébergeur (d'où les deux autres réponses) :)

Reply

Marsh Posté le 23-05-2006 à 19:37:13    

Je vais tester tout ça. Merci beaucoup !

Reply

Marsh Posté le 23-05-2006 à 21:47:10    

C'est impeccable ça marche ! merci les pros !
J'en profite donc pour vous demander une autre petite chose qui doit pas être bien différente (enfin je pense ;-)). En fait, toujours dans le même esprit (ça marche avec un apache et pas l'autre...) : il me met des "variables inconnues" (normal vu qu'elles ne sont pas forcément déclarées avant). Peut-on (je suppose que oui) éviter cela ? Pour être plus clair, pour utiliser une variable (style un nom de tableau du genre tab[]) qui n'a pas été déclaré ?
Et une dernière question : mes fonctions du genre date(Y) pour récupérer l'année, il m'affiche une erreur sur le Y.
 
Pour ces deux problèmes, il doit y avoir une modif dans la config encore une fois ?
 
Merci encore une fois !

Reply

Marsh Posté le 23-05-2006 à 23:12:11    

Et bien sûr, faut faire super gaffe avec le coup des variables, sinon catastrophe. Vaut mieux désactiver register_globals et utiliser $_GET que de passer des heures à vérifier que toutes les variables soient correctement initialisées...

Reply

Marsh Posté le 24-05-2006 à 08:47:50    

jeanjacques2 a écrit :

il me met des "variables inconnues"


 
pas sur mais je crois qu il faut juste baisser le niveau d alerte

Code :
  1. error_reporting = E_ALL & ~E_NOTICE


 
 
 

Citation :

mes fonctions du genre date(Y) pour récupérer l'année, il m'affiche une erreur sur le Y.


c est peut etre encore du a ton niveau d alerte

Reply

Marsh Posté le 24-05-2006 à 08:47:50   

Reply

Marsh Posté le 24-05-2006 à 08:50:11    

Merci mIRROR. Je vais essayer...

Reply

Marsh Posté le 24-05-2006 à 08:58:58    

C'était bien ça ! bravo !
 
Merci à tous pour votre efficacité !

Reply

Marsh Posté le 24-05-2006 à 09:02:33    

cool =)

Reply

Marsh Posté le 24-05-2006 à 15:21:17    

mIRROR a écrit :

pas sur mais je crois qu il faut juste baisser le niveau d alerte

 

SURTOUT PAS MALHEUREUX §§§§  [:johneh]  [:johneh]  [:johneh]  [:johneh]

 

Si y'a des variables inconnues, faut surtout pas baisser le niveau d'alerte en espérant planquer le problème !!!!!!

 


Faut au contraire aller partout dans le code et vérifier que toutes les variables sont déclarées, sinon 10 balles qu'on se retrouve avec plein de failles de sécurité dû à register_globals !!!

Reply

Marsh Posté le 24-05-2006 à 15:21:46    

Quel merde ce register_globals, nan mais vraiment fallait être con pour inventer ça ! Heureusement que ça va disparaître avec PHP6

Reply

Marsh Posté le 24-05-2006 à 15:23:20    

C'es bien le problème avec PHP, plutôt que de se casser la tête à tout corriger on peut toujours solutionner le problème en changeant une bricole et en se retrouvant avec quelque chose de complètement bancal!

Reply

Marsh Posté le 24-05-2006 à 15:49:55    

jeanjacques2, là ce que tu fais c'est planquer les problèmes, pas les résoudre. Tu fais même pire que ça, tu config PHP de manière optimale pour te faire pirater.
Utiliser le register global à ON est un énorme trou de sécurité si tu ne déclares pas correctement toutes tes variables. Dans le même temps, tu config PHP pour qu'il ne te prévienne pas si une variable n'est pas déclarée ...
Là tu donnes le fouet pour te faire battre (enfin, pirater). J'espère que c'est pour un intranet.


Message édité par Djebel1 le 24-05-2006 à 15:50:17
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed