Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

Annonce

Faites un bond en avant avec la formation SEO Ranking Skills le 20 Septembre 2017

#1 2015-12-22 15:26:02

Mention Julien G
Captain
Lieu : Lyon
Inscription : 2015-06-26
Messages : 506

Développement PHP
Sécurité
Automatisation Web
Social Engineering
Site Web

[PHP] Conversion des variables POST et GET

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 :


<?php
$username = $_POST['username'];
$email= $_POST['email'];
$password= $_POST['password'];
?>
 

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.


<?php

foreach($_POST as $key => $value) ${$key} = $value;

?>
 

ou en natif (merci Mitsu) :


extract($_POST);
 

Julien,


----------------------------------------------------------------

Skype : t3n0k_UG - Automatisation SEO et Hacking

Hors ligne

#2 2015-12-22 16:06:59

Mention Mitsu
Soldier
Inscription : 2014-11-17
Messages : 1 812

Développement PHP
Développement JS
Audit et Analyse
Netlinking
Site Web

Re : [PHP] Conversion des variables POST et GET

Sinon tu as en natif

extract($_POST);

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)


Mitsu, un Expert SEO qui se fait une joie de partager ses délires sur internet...

Hors ligne

#3 2015-12-22 16:14:09

Mention Walid
Soldier
Inscription : 2013-02-07
Messages : 1 965

Sémantique
Audit et Analyse
Netlinking
PHP

Re : [PHP] Conversion des variables POST et GET

Mitsu a écrit :

Sinon tu as en natif

extract($_POST);

qui te donne le même résultat, ça marche pour n'importe quel tableau associatif.

Pratique ça  !


Fatigué du SEO sans résultats ? Je te propose :

1 => Un vrai Road Map SEO - 2 => Une Optimisation aux petits oignons - 3 => Des Prestations de Trust Linking
Mon Id Skype : walid.gabteni - Mon site : Light On SEO

Hors ligne

#4 2015-12-22 16:34:03

Mention Webredaction
Scout
Lieu : CRETEIL
Inscription : 2015-05-14
Messages : 133

Rédaction
Rédaction
Rédaction
Rédaction
Site Web

Re : [PHP] Conversion des variables POST et GET

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.
wink

Hors ligne

#5 2015-12-22 16:43:48

Mention Julien G
Captain
Lieu : Lyon
Inscription : 2015-06-26
Messages : 506

Développement PHP
Sécurité
Automatisation Web
Social Engineering
Site Web

Re : [PHP] Conversion des variables POST et GET

Mitsu a écrit :

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 smile


----------------------------------------------------------------

Skype : t3n0k_UG - Automatisation SEO et Hacking

Hors ligne

#6 2015-12-23 08:05:57

Mention salemioche
Scout
Inscription : 2015-10-09
Messages : 247

Adminstration Serveur
PHP
Scraping
Cloaking

Re : [PHP] Conversion des variables POST et GET

Mitsu a écrit :
extract($_POST);

Au début de Php, c'était en natif ça ( remember http://php.net/manual/en/security.globals.php smile ), il n'y avait meme pas besoin de le faire

foreach($_POST as $key => $value) $$key = trim($value);

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

array_map('trim',$_POST) ; extract($_POST);

( On "apprécie" une fois de plus que array_map et array_walk n'est pas la même syntaxe... )


__
Powering Nikozen

Hors ligne

#7 2015-12-23 08:30:57

Mention jeromeweb
Soldier
Lieu : pas loin de paris
Inscription : 2014-10-12
Messages : 1 005

PHP
Automatisation Web

Re : [PHP] Conversion des variables POST et GET

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


Blog perso jeromeweb.net - site pro : jerome-pasquelin.fr

Hors ligne

#8 2015-12-23 10:15:35

Mention Julien G
Captain
Lieu : Lyon
Inscription : 2015-06-26
Messages : 506

Développement PHP
Sécurité
Automatisation Web
Social Engineering
Site Web

Re : [PHP] Conversion des variables POST et GET

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

Yes tu as tout à fait raison smile
On peut faire un truc du style pour sécurisé :


$allow = array('champ1','champ2');
foreach($_POST as $key => $value)
{
      if(in_array($value,$allow))
      {
            ${$key} = $value;
      }
}
 

----------------------------------------------------------------

Skype : t3n0k_UG - Automatisation SEO et Hacking

Hors ligne

#9 2015-12-23 12:17:55

Mention salemioche
Scout
Inscription : 2015-10-09
Messages : 247

Adminstration Serveur
PHP
Scraping
Cloaking

Re : [PHP] Conversion des variables POST et GET

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 smile )

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

#10 2015-12-23 12:42:39

Mention Julien G
Captain
Lieu : Lyon
Inscription : 2015-06-26
Messages : 506

Développement PHP
Sécurité
Automatisation Web
Social Engineering
Site Web

Re : [PHP] Conversion des variables POST et GET

salemioche a écrit :
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 smile )

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 !


----------------------------------------------------------------

Skype : t3n0k_UG - Automatisation SEO et Hacking

Hors ligne

#11 2015-12-23 12:58:16

Mention jeromeweb
Soldier
Lieu : pas loin de paris
Inscription : 2014-10-12
Messages : 1 005

PHP
Automatisation Web

Re : [PHP] Conversion des variables POST et GET

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


Blog perso jeromeweb.net - site pro : jerome-pasquelin.fr

Hors ligne

#12 2015-12-23 17:11:59

Mention Mitsu
Soldier
Inscription : 2014-11-17
Messages : 1 812

Développement PHP
Développement JS
Audit et Analyse
Netlinking
Site Web

Re : [PHP] Conversion des variables POST et GET

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.


Mitsu, un Expert SEO qui se fait une joie de partager ses délires sur internet...

Hors ligne

#13 2015-12-24 12:10:14

Mention Woods
Soldier
Inscription : 2013-10-25
Messages : 275

Netlinking
Networking SEO
Automatisation Web
Scraping

Re : [PHP] Conversion des variables POST et GET

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.


Blog de consultant SEO - Skype : Woods.cpa - @Woods_seo

Hors ligne

Pied de page des forums