Déclaration de variable dynamiquement (register_global)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 182 fois - Téléchargée 25 fois

Contenu du snippet

Si vous développez votre site chez vous et que vous avez l'habitude de récuperer vos variable directement sans allé la chercher dans le table $_POST[].
par exemple votre formulaire contient les champs : "nom" et "prenom"
pour y acceder soit vous faites $_POST['nom'] et $_POST['prenom']
si par contre vous voulez les recuperer directement dans une variable $nom et $prenom il vous faut configurer votre serveur php en mettant register_global=on
par contre si vous ne pouvez pas modifier la conf alors cette source pourra vous etre utile !!

Source / Exemple :


<?php
// le register global
// on limite la déclaration des variables à celle qui sont dans le tableau

$var_get = array("var1","var2","var3","var4");
// pour le get
foreach($_GET as $key => $val)
     if ( in_array($key, $var_get))
         ${$key} = $val;

$var_post = array("var1","var2","var3","var4");

// pour le post
foreach($_POST as $key => $val)
     if ( in_array($key, $var_post))
        ${$key} = $val;

?>

Conclusion :


Cette source vous permet de voir comment allouer des variables dynamiquement. J'avoue que l'on en a pas tout les jours grand besoin mais on sait jamais.

A voir également

Ajouter un commentaire

Commentaires

cs_parweb
Messages postés
14
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
19 janvier 2009
-
sinon ya une function nikel pour faire sa c le extract

extract($_POST);
un truc comme ca je crois
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
au moins n'importe qui ne peut pas créer ses variables :-)
dis rejnev, c t pas agressif comme message, du tt du tt ;-)
rejnev
Messages postés
15
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
16 février 2004
-
allez pour vous faire plaisir on peut le modifier pour le rendre un peut plus sécurisé :

$var_post = array("var1","var2","var3","var4");

// pour le post
foreach($_POST as $key => $val)
if ( in_array($key, $var_post))
${$key} = $val;

$var_get = array("var1","var2","var3","var4");
// pour le get
foreach($_GET as $key => $val)
if ( in_array($key, $var_get))
${$key} = $val;
rejnev
Messages postés
15
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
16 février 2004
-
ouh ouh doucement les gars!!!
moi je cherché à déclarer des variables dynamiquement, apres l'avoir trouver dans la docs. J'ai fait l'analogie avec le problème que j'ai rencontré lorsque j'ai commencé à programmé.
Je suis tout a fait d'accord que c'est une faille de sécurité énorme, j'y avait déja réfléchi et j'aurai du l'écrire en majuscule dans la description de cette source. De plus si tu regarde bien cette source n'est pas dans la rubrique sécurité mias plutot astuce !! ça m'a déja servit pour faire un petit site a la con, alors pourquoi pas quelqu'un d'autre, et puis ca fait un exemple concret pour la déclaration de variable dynamiquement!!!

@+
cs_gege217
Messages postés
40
Date d'inscription
jeudi 23 janvier 2003
Statut
Membre
Dernière intervention
13 août 2008
-
T'as aussi une fonction prévue spécialement pour ca !

import_request_variables();

plus d'infos sur => http://fr3.php.net/import_request_variables

Des fois ca sert de regarder la doc...

.oOMimiLOo.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.