Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 19h41   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut recherche de fonction sur les formulaires

Bonjour,

J'ai un trou de mémoire, même en cherchant chez notre amis google, je n'arrive pas à la retrouver.
J'ai lu une fois dans un bouquin qu'il existait une fonctionne capable d'attribuer automatique des variables a des données provenant d'un formulaire. Exemple :

Code :
1
2
$_POST['var1']  deviens $var1
$_POST['var2']  deviens $var2
Quelqu'un connaît'il cette fonction "magique" ? si oui est'elle sécurisée ?

Merci beaucoup
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 20h05   #2
Nb
Candidat au titre de Membre du Club
 
Inscription : décembre 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 9
Points : 14
Points : 14
Bonjour,

j'ai pas de fonction PHP qui me vienne à l'esprit pour faire ca.
Par contre il me semble que la directive "register_globals" servait à ça, mais elle a ete passée à Off par defaut lors d'une des versions de php 4 (me souviens plus laquelle) et elle est obsolete en php 5.3.

Même si je n'en voit pas l'interet, si tu en as besoins tu peux toute de même écrire un bout de code bien sale qui le fait genre :

Code :
1
2
3
foreach ($_POST as $k=>$v){
      $$k = $v;
}
J'ai pas testé mais c'est pour l'idée. Par contre je ne voit que des inconvénients à faire quelques chose dans le style car tu perds toutes traces de la provenance des données ce qui rend possible une codage hasardeux et potentiellement dangereux.
Nb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 08h25   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
C'est effectivement la directive register_globals qui permettait cela, mais je préciserais que c'est pour des raisons de sécurité qu'elle a été passée à off et dépréciée.

Dans la mesure où aucune donnée utilisateur ne doit être utilisée avant d'avoir été vérifiée, ce que tu souhaites faire est à déconseiller fortement !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 08h42   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 817
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 817
Points : 1 539
Points : 1 539
Tu peux utiliser la fonction extract() qui permet cela.
Mais je rejoins les posts précédents, c'est totalement déconseillé par souci de sécurité !
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2012, 17h44   #5
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
c'étais bien la fonction extract() que je recherchais, mais vue que vous me le déconseiller pour des mesures de sécurités, je vais l'oublier


le foreach marche aussi

Code :
1
2
3
foreach ($_POST as $k=>$v){
      $$k = $v;
}

Merci pour tout vos petits conseils
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 08h01   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Ben oui, mais là, tu te contentes de réinventer la roue...

Si les méthodes évoquées précédemment sont déconseiller, c'est essentiellement parce qu'aucune donnée utilisateur ne doit être utilisée avant d'avoir été vérifiée !
Dans ta boucle, tu ne vérifies rien.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h57.


 
 
 
 
Partenaires

Hébergement Web