Vous n'êtes pas identifié(e).
Pages :: 1
Hello,
Je fais beaucoup de développement form-scratch en PHP et à chaque fois que je dois travailler sur un formulaire il me faut traiter des variables de type POST.
Pour les réutiliser on peut faire :
Mais ça devient vite fastidieux...
C'est pour ça que je vous donne une ligne de code qui convertira tout les variables de type POST (ou GET si vous l'adaptez) en variables classiques.
foreach($_POST as $key => $value) ${$key} = $value;
?>
ou en natif (merci Mitsu) :
Julien,
🔴 Hors ligne
Sinon tu as en natif
qui te donne le même résultat, ça marche pour n'importe quel tableau associatif.
Dernière modification par Mitsu (2015-12-22 16:08:05)
🔴 Hors ligne
🔴 Hors ligne
En effet, c'est bien plus rapide de cette façon.
Merci bien.
Rédacteur web : CP à 1,9 € les 100 mots - rédacteur à Créteil (94).
Aucune sous-traitance.
🔴 Hors ligne
Sinon tu as en natif
extract($_POST);qui te donne le même résultat, ça marche pour n'importe quel tableau associatif.
Merci Mitsu je connaissais pas !
J'edit
🔴 Hors ligne
extract($_POST);
Au début de Php, c'était en natif ça ( remember http://php.net/manual/en/security.globals.php ), il n'y avait meme pas besoin de le faire
Le foreach peut être pratique pour appliquer une petite fonction par exemple, ( les {} peuvent aussi être supprimées )
Dans le cas ci dessus, on pourrait aussi avoir
( On "apprécie" une fois de plus que array_map et array_walk n'est pas la même syntaxe... )
__
Powering Nikozen
🔴 Hors ligne
Faites gaffe qd meme de ne pas utiliser extract() comme ça sur du front par contre, ça peut ouvrir des portes pour des tentatives de piratage
Jérôme - Générer des revenus avec les NDD expirés (formation) | Blog perso jeromeweb.net
🔴 Hors ligne
Faites gaffe qd meme de ne pas utiliser extract() comme ça sur du front par contre, ça peut ouvrir des portes pour des tentatives de piratage
Yes tu as tout à fait raison
On peut faire un truc du style pour sécurisé :
🔴 Hors ligne
Faites gaffe qd meme de ne pas utiliser extract() comme ça sur du front par contre, ça peut ouvrir des portes pour des tentatives de piratage
je ne vois pas de faille vraiment critique potentiel, le user pourrait effectivement injecter un peu n'importe quoi, mais gloablement a part faire planter le script, il ne se passera pas grand chose ( tant que le script est privé, si tu le diffuses, c'est tout autre chose )
Tu peux aussi utiliser EXTR_SKIP pour eviter d'écraser la variable ou EXTR_PREFIX_ALL pour péfixer les variables créées. Cette dernière solution est sans doute toujours la meilleure surtout s'il y a diffusion du code
__
Powering Nikozen
🔴 Hors ligne
jeromeweb a écrit :Faites gaffe qd meme de ne pas utiliser extract() comme ça sur du front par contre, ça peut ouvrir des portes pour des tentatives de piratage
je ne vois pas de faille vraiment critique potentiel, le user pourrait effectivement injecter un peu n'importe quoi, mais gloablement a part faire planter le script, il ne se passera pas grand chose ( tant que le script est privé, si tu le diffuses, c'est tout autre chose )
Tu peux aussi utiliser EXTR_SKIP pour eviter d'écraser la variable ou EXTR_PREFIX_ALL pour péfixer les variables créées. Cette dernière solution est sans doute toujours la meilleure surtout s'il y a diffusion du code
Le soucis est par exemple d'écraser une variable de type requête SQL après en utilisant EXTR_SKIP tu supprimes le problème si appelle de la fonction extract() après toutes les déclarations !
🔴 Hors ligne
Clair tu passes en POST des $conn, $db, $sql, $requete etc....il y a des surprises des fois quand des erreurs s'affichent parce que tu as fais planter le script:-)
Sur du tool privé on s'en fout mais en prod sur du front ça peut faire mal
Jérôme - Générer des revenus avec les NDD expirés (formation) | Blog perso jeromeweb.net
🔴 Hors ligne
Yes je me rappelle de cette époque salemioche lol. Perso je connais extract mais je l'utilise effectivement que pour des petit script sale. Sinon en terme de lecture voir des variable pope sans déclaration ça peut faire des noeuds aux cerveaux mais sur le script fait rapidos pour un usage unique vive le sale.
🔴 Hors ligne
Yo,
Je dev uniquement en from scratch pour mes tools et j'utilisais la méthode du foreach.
Simple et qui envoi du paté.
Je ne connaissais pas extract, merci.
🔴 Hors ligne
Pages :: 1