IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

traitement auto de $_POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Par défaut traitement auto de $_POST
    Bonjour,

    juste pour une petite question :
    à l'heure actuelle, pour préparer le traitement des formulaires, je procede toujours comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    if(isset($_POST['envoie']))
    {
    $jour=mysql_real_escape_string($_POST['jour']);
    $mois=mysql_real_escape_string($_POST['mois']);
    $annee=mysql_real_escape_string($_POST['mois']);
    $nom=mysql_real_escape_string($_POST['nom']);
    $prenom=mysql_real_escape_string($_POST['prenom']);
    $motif=mysql_real_escape_string($_POST['motif']);
    $arrivee_hh=mysql_real_escape_string($_POST['arrivee_hh']);
    $arrivee_mm=mysql_real_escape_string($_POST['arrivee_mm']);
    $depart_hh=mysql_real_escape_string($_POST['depart_hh']);
    $depart_mm=mysql_real_escape_string($_POST['depart_mm']);
    $medecin=mysql_real_escape_string($_POST['medecin']);
    $destination=mysql_real_escape_string($_POST['destination']);
    .......
    }
    Je voudrais savoir si il n'y a pas possibilité de creer une fonction qui lise le tableau $_POST, affecte tous les contenus des champs dans une variable portant le même nom que le champ et applique un mysql_real_escape_string.

    merci d'avance de vos idées.

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut


    Si j'ai bien compris ton problème, tu as la fonction extract qui fait ça mis à part qu'elle ne fait pas le mysql_real_escape_string.

    Mais il est largement déconseillé de l'utiliser sur des données inconnues pour des raisons évidentes de sécurité.

    Le mieux à faire est encore ta propre fonction

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Par défaut
    Merci de cette réponse.

    Pour extract pourquoi ne pas l'utiliser pour des soucis de sécurité ?
    Sachant qu'après je n'utilise que des variables attendues et après avoir revérifier si elles correspondent à ce que j'attend ?
    (genre si on m'ajoute un $_POST['jetehack'] je ne l'utiliserai pas car il n'est pas attendu, et que je vérifie si j'attend un int que cela soit bien un int....

    Sinon pour faire une fonction moi même c'est en effet ce que je pensais faire avant que vous me fassiez découvrir extract, si extract est trop dangereux à utiliser, comment puis je extraire automatiquement (en parcourant le tableau $_POST) le nom des variables afin d'extraire les nom des champs.

    merci d'avance de vos lumières.

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    ça peut devenir dangereux car tu ne connais pas les données que l'utilisateur va transmettre en utilisant $_POST (possibilité d'exécution de code malveillant par exemple).

  5. #5
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    tu peux aussi faire quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach ($_POST as $k=>$v)
       $_POST[$k] = mysql_real_escape_string($v);
    et ensuite tu peux insérer directement les valeurs $_POST["..."] dans ta base

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Par défaut
    merci pour ce petit foreach et cet info sur extract.

    Par contre pour le foreach, cette fonction, si je ne m'abuse me fait juste un mysql_real_escape_string sur chaque $_POST mais je m'affecte pas un $_POST['voiture'] dans une variable $voiture.

    Or afin d'éclaircir mon code et peut être un peut par fainéantise, je souhaiterai affecter tout les $_POST à des variables portant le nom du $_POST et c'est un peut la dessus que je bloque.

    Sauf avec extract qui peut le faire mais parait dangereux.

Discussions similaires

  1. [WS 2008] batch, traitement manuel vs auto
    Par olivanto dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 20/12/2013, 08h19
  2. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05
  3. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44
  4. Un Sender peut-il s'auto-détruire lors d'un onClick?
    Par Flo. dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/07/2002, 10h31
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo