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 :

Récupérer les données d'un formulaire html


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 5
    Points
    5
    Par défaut Récupérer les données d'un formulaire html
    Bonsoir

    J'ai crée une page html avec un formulaire pour les visiteurs. Je vous montre le code :
    Code html : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <form method="post" action="form.php">
     
    <label for="nom">Nom</label>
    <input type="text" name="Nom" id="Nom" tabindex="10" />
     
    <label for="prenom">Prénom</label>
    <input type="text" name="prenom" id="prenom" tabindex="20" />
     
    <br /><br />
    <label for="email">Adresse e-mail</label>
    <input type="text" name="email" id="email" tabindex="30" /><br />
     
    <label for="Date">Date</label>
    <input type="text" name="Date" id="Date" tabindex="20" />
     
    <br />La chambre que vous souhaitez :<br />
    <input type="checkbox" name="Indigo" id="Indigo" /> <label for="Indigo">Indigo</label><br />
    <input type="checkbox" name="Havane" id="Havane" /> <label for="Havane">Havane</label><br />
    <input type="checkbox" name="Garance" id="Garance" /> <label for="Garance">Garance</label><br />
    <input type="checkbox" name="Lilas" id="Lilas" /> <label for="Lilas">Lilas</label><br />
    <input type="checkbox" name="Salle de réception" id="Salle de réception" /> <label for="Salle de réception">Salle de réception</label><br />
     
    <br />Nombre de personnes :<br />
    <input type="radio" name="nombre de personnes" value="1" id="1" /> <label for="1">1 personne</label><br />
    <input type="radio" name="nombre de personnes" value="2" id="2" /> <label for="2">2 personnes</label><br />
    <input type="radio" name="nombre de personnes" value="3" id="3" /> <label for="3">3 personnes</label>
     
    <br /><label for="Sujet">Commentaires</label><br />
    <textarea name="Sujet" id="Sujet"rows="5" cols="50"></textarea>
     
     
    <input type="submit" /> <input type="reset" />
     
    </form>

    Je n'arrive pas a concevoir une page php pour recuperer ses informations. Je demande pas un truc compliqué juste récuperer les informations renseigné par le visiteur.

    Voila le fichier php que j'ai concu mais sa marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    $destinataire = "nomdedomaine@orange.fr";
    $objet = "Demande d'informations";
    $message = "Demande d'informations de Monsieur ou Madame ".$_POST['Nom']."&nbsp;".$_POST['prenom'].".";
     
    echo 'destinataire : '.$destinataire.'<br />';
    echo 'objet : '.$objet.'<br />';
    echo 'message : '.$message.'<br />';
     
     
    mail($destinataire, $objet, $message);
    ?>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 68
    Points : 97
    Points
    97
    Par défaut
    Pour récupérer les valeurs du formulaire c'est bien le tableau $_POST qu'il faut utiliser.

    Essaye de faire un print_r($_POST) pour voir les valeurs de ton formulaire.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ing syst. retraité
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ing syst. retraité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par vladoche Voir le message
    Bonsoir

    J'ai crée une page html avec un formulaire pour les visiteurs. Je vous montre le code :
    Code html : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <form method="post" action="form.php">
     
    <label for="nom">Nom</label>
    <input type="text" name="Nom" id="Nom" tabindex="10" />
     
    <label for="prenom">Prénom</label>
    <input type="text" name="prenom" id="prenom" tabindex="20" />
     
    <br /><br />
    <label for="email">Adresse e-mail</label>
    <input type="text" name="email" id="email" tabindex="30" /><br />
     
    <label for="Date">Date</label>
    <input type="text" name="Date" id="Date" tabindex="20" />
     
    <br />La chambre que vous souhaitez :<br />
    <input type="checkbox" name="Indigo" id="Indigo" /> <label for="Indigo">Indigo</label><br />
    <input type="checkbox" name="Havane" id="Havane" /> <label for="Havane">Havane</label><br />
    <input type="checkbox" name="Garance" id="Garance" /> <label for="Garance">Garance</label><br />
    <input type="checkbox" name="Lilas" id="Lilas" /> <label for="Lilas">Lilas</label><br />
    <input type="checkbox" name="Salle de réception" id="Salle de réception" /> <label for="Salle de réception">Salle de réception</label><br />
     
    <br />Nombre de personnes :<br />
    <input type="radio" name="nombre de personnes" value="1" id="1" /> <label for="1">1 personne</label><br />
    <input type="radio" name="nombre de personnes" value="2" id="2" /> <label for="2">2 personnes</label><br />
    <input type="radio" name="nombre de personnes" value="3" id="3" /> <label for="3">3 personnes</label>
     
    <br /><label for="Sujet">Commentaires</label><br />
    <textarea name="Sujet" id="Sujet"rows="5" cols="50"></textarea>
     
     
    <input type="submit" /> <input type="reset" />
     
    </form>


    Je n'arrive pas a concevoir une page php pour récupérer ses informations. Je ne demande pas un truc compliqué juste récupérer les informations renseignées par le visiteur.
    Salut,


    Tu dois, dans le php spécifié dans la clause action de la ligne form de ton formulaire, écrire la récupération des données de la manière suivante :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?php
                     // print_r($_POST) ;
                     /* Creer les variables avec les champs du formulaire ------------------- */
                      $nom        = trim($_POST['Nom'       ]) ;  // Nettoyage avec trim() des textes saisis
                      $prenom     = trim($_POST['prenom'    ]) ;
                      $email    = trim($_POST['email'      ]) ;
                      $date    = trim($_POST['Date'   ]) ;
                      if (isset($_POST['Indigo'])) {
                         $indigo=(int)1; }
                      else {
                         $indigo=(int)0; }
    ....
    ... tous les autres parametres aussi 
    ......
    ......
    ......
     
     
    ?>
    <htlm>
       <head>
            ....
       </head>
       <body>
            ....
        </body>
    </htlm>
    Je l'ai placé avant la balise head mais le principal est que tu le fasse avant de chercher à utiliser les données.

    • fais attention à la syntaxe, les variables récupérées sont des éléments du tableau $_POST d'où pour accéder à la variable "nom" on écrit : $nom=$_POST['nom']. La fonction trim() supprime les espaces avant et après la saisie.
    • ensuite les checkbox n'existent pas si elles sont non cochées d'où le test; j'ai choisi de valoriser à 1 pour oui et 0 pour non , le transtypage en int n'est peut pas utile, mais c'est une bonne habitude de forcer les types qui me vient du C.
    • enfin, tes nom de variables : utilise TOUJOURS le même style : minuscules, majuscules, 1èere lettre en Maj, .... mais ne change pas en cours de route. Ta variable Nom avec la majuscule va te poser des problèmes un jour ou l'autre.


    Tiens nous au courant du résultat.
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    +1
    Attention quand on récupère un $_POST voir si les la directive magic_quotes est active utiliser stripslashes().
    De même à l'insertion de données provenant de formulaire pour construire une requête SQL il faut échapper les chaines à mettre dans la requête: voir fonctions les fonctions du type mysql_real_escape_string() correspondant à la base.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    $objet = "Demande d'informations";
    ...
    echo 'objet : '.$objet.'<br />';
    un echo comme ça fait froid dans le dos moi je dit qu'une donnée est une enigme, c'est pour dire attention qu'est-ce qu'on affiche, d'où ça vient, où ça va?
    Voir traitement des chaines addslashes()/stripslashes()...
    Voir aussi les fonctions d'affichage de html, et le nl2br()...
    Le code d'affichage devient assez vite verbeux mais pas inutile.
    A toi de développer des petites fonctions, ou d'utiliser des snippets de code pour gérer l'affichage.Y'en a plein dans la doc php manual. Sur ce 'wonderful' site regarde vers les pages parlant de sécurité php.
    Bon code

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ing syst. retraité
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ing syst. retraité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par tatareau Voir le message
    +1

    Le code d'affichage devient assez vite verbeux mais pas inutile.
    A toi de développer des petites fonctions, ou d'utiliser des snippets de code pour gérer l'affichage.Y'en a plein dans la doc php manual. Sur ce 'wonderful' site regarde vers les pages parlant de sécurité php.
    Bon code
    Doucement tatareau, le Monsieur veut juste faire fonctionner son formulaire.
    Mais il faut déjà qu'il nous dise si ça marche, mais tu as tout à fait raison Thierry
    on ne badine pas avec la sécurité et le site dont tu parle me semble bien insister sur l'aspect théorique mais ne donne pas assez de détails au niveau des différentes fonctions. Si j'ai bien compris dans toute entrée libre (un chexkbox est un e entrée sure) il y a un risque.
    Il convient de se protéger
    • des balises intégrées dans le texte par un utilisateur rusé
    • des caractères de contrôles (ta remarque sur les add/strip slashes est fort pertinente
    • on peut même faire des recherches par mots clé

    Dans tous les cas une entrée de données venant de l'extérieur doit être filtrée et protégée. Certains chiffrent même le contenu de la base de données

    Mais je reviens à mes moutons.
    Vladoche as tu réussi à faire fonctionner ton formulaire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer les données d'un formulaire html
    Par samantha93 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 12/12/2012, 11h06
  2. Comment récupérer et afficher les données d'un formulaire html
    Par mikesquake dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 15/12/2010, 03h55
  3. Réponses: 3
    Dernier message: 12/01/2007, 17h43
  4. Réponses: 6
    Dernier message: 01/08/2006, 16h23
  5. récupérer les données d'un formulaire un peu spécial
    Par Jim_Nastiq dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 10/07/2006, 10h53

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