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ération données boutons radios et liste à choix


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Récupération données boutons radios et liste à choix
    Bonjour,
    Comme beaucoup ici je bricole le PHP sans vraiment y arriver . Alors quand on ne trouve pas après 2 jours d'essais infructueux, on fait appel aux experts ....J'ai mis en ligne sur un site web que j'ai réalisé un formulaire : http://www.lesigale.fr/sondage.htm
    Pour récupérer les données du formulaire par mail j'ai trouvé ce script PHP très simple qui marche parfaitement bien d'ailleurs.
    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
    <?php
     
     $msg = "Nom:\t$nom\n";
     $msg = "E-mail:\t$email\n";
     $msg = "Message:\t$message\n\n";
     $_POST['question1'];  //  =====> Là c'est moi qui ai rajouté ça mais ça ne marche pas !
     
     $recipient = "xxxxxxxxxxx@free.fr";
     $subject = "Formulaire";
     
     $mailheaders = "From: Mon site web<> \n";
     $mailheaders .= "Reply-To: $CP\n\n";
     
     mail($recipient, $subject, $msg, $mailheaders);
     
     echo "<HTML><HEAD>";
     echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
     echo "<H1 align=center>Merci de votre collaboration $nom </H1>";
     echo "<P align=center>";
     echo "Votre formulaire à bien été envoyé !</P>";
     echo "</BODY></HTML>";
     
     ?>
    Bien sur ma configuration est plus complexe que l'exemple donné, avec des boutons radios et des listes à choix multiples (d'ailleurs je n'ai pas besoin du nom ni de l'Email de l'exemple!) . Mais comment traduire mes données dans la continuité du champs de saisie qui marche bien . D'ailleurs, on voit peu souvent ce genre de config : $msg = "x"; mais plutôt $_POST['x'];
    Avez vous des réponses?......merci de votre aimable collaboration.

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2008
    Messages : 71
    Points : 117
    Points
    117
    Par défaut
    Je n'ai pas le temps de tester, mais voici quelques modifs que je vois dans le code :

    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
    29
    30
    <?php
     
    $msg = "Nom:\t$nom\n";
    //Ici, on rajoute un . avant le = pour concaténer la chaîne 
    //(cad pour que le texte
    //soit ajouté à $msg au lieu de le remplacer)
    $msg.= "E-mail:\t$email\n";
    $msg.= "Message:\t$message\n\n";
     
    //Ici on fait pareil en ajoutant le contenu de la variable $post. 
    $msg.="Reponse1:\t$_POST['question1']\n\n";
    //Si ca fonctionne, tu n'as qu'à ajouter une ligne par réponse  : 
    $msg.="Reponse2:\t$_POST['question2']\n\n";
    //etc.
    $recipient = "pointup@free.fr";
    $subject = "Formulaire";
     
    $mailheaders = "From: Mon site web<> \n";
    $mailheaders .= "Reply-To: $CP\n\n";
     
    mail($recipient, $subject, $msg, $mailheaders);
     
    echo "<HTML><HEAD>";
    echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
    echo "<H1 align=center>Merci de votre collaboration $nom </H1>";
    echo "<P align=center>";
    echo "Votre formulaire à bien été envoyé !</P>";
    echo "</BODY></HTML>";
     
    ?>
    Si tu as beaucoup de réponses, on pourra simplifier en faisant une boucle par exemple sur le tableau de variables $_POST. Dis-moi si tu en as besoin (et si ça marche )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Merci Monsieurben.......j'essaie ce soir en rentrant et te tiens au courant.....sympa l'entraide tout de même!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    J'ai bien essayé.....mais malheureusement ça marche pas :
    Parse error: syntax error, unexpected '=' in /homez.145/lesigale/www/formmail.php on line 6
    J'ai essayé de bricoler le code .....qui me semble correct, rien ni fait . Ou est l'erreur ??
    Merci de mener l'enquête ....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    J'aime bien bricoler ....!! J'ai trouvé le bon code pour l'envoi...l'erreur était là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $msg = "Message:\t$message\n";
    $msg .= "Question1:\t".$_POST['question1']."\n\n";
    Problème maintenant, le choix coché ne s'affiche pas sur mon mail de résultats ....j'ai essayé en rajoutant au code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="question1" value="oui" />
    la valeur checked="checked" comme j'ai pu le voir ......ça ne change rien .
    Une idée ???

  6. #6
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    pour les cases à cocher, tu dois tester si la variable existe avec la fonction http://php.net/isset

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OUI :<input type="radio" name="question1" value="oui" checked="checked"/>
    NON :<input type="radio" name="question1" value="non" />
    Le bouton oui est sélectionné par défaut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['question1']))
    {
    echo $_POST['question1']; //Affiche "oui" ou "non" selon la selection
    }

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Merci à tous pour votre aimable collaboration ....
    Je me suis débrouillé en scrutant pas mal de code sur le web.....fait énormément d'essais......et un peu de chance.....Je ne sais pas si j'ai trouvé la meilleure solution ....mais ça marche comme ça ....une question de point (.) apparemment .
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
     
     
     $msg = "Question1:\t".$_POST['question1']."\n\n";
     $msg .= "Question2a:\t".$_POST['question2a']."\n\n";
     $msg .= "Question2b:\t".$_POST['question2b']."\n\n";
     $msg .= "Question3a:\t".$_POST['question3a']."\n\n";
     $msg .= "Question3b:\t".$_POST['question3b']."\n\n";
     $msg .= "Question3c:\t".$_POST['question3c']."\n\n";
     $msg .= "Question4a:\t".$_POST['question4a']."\n\n";
     $msg .= "Question4b:\t".$_POST['question4b']."\n\n";
     $msg .= "Question4c:\t".$_POST['question4c']."\n\n";
     $msg .= "Question5a:\t".$_POST['question5a']."\n\n";
     $msg .= "Question5b:\t".$_POST['question5b']."\n\n";
     $msg .= "Question5c:\t".$_POST['question5c']."\n\n";
     $msg .= "Question6a:\t".$_POST['question6a']."\n\n";
     $msg .= "Question6b:\t".$_POST['question6b']."\n\n";
     $msg .= "Question6c:\t".$_POST['question6c']."\n\n";
     $msg .= "Message:\t".$message."\n\n";
     $msg .= "Commune:\t".$_POST['commune']."\n\n";
     $msg .= "Age:\t".$_POST['age']."\n\n";
     
     
     $recipient = "sigale.dg@wanadoo.fr";
     $subject = "Formulaire";
     
     $mailheaders = "From: Sondage Ados  <> \n";
     $mailheaders .= "Reply-To: $CP\n\n";
     
     mail($recipient, $subject, $msg, $mailheaders);
     
     
     echo "<HTML><HEAD>";
     echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY bgcolor=#99CC00>";
     echo "<H1 align=center>Merci de votre collaboration $nom </H1>";
     echo "<P align=center>";
     echo "Votre formulaire à bien été envoyé !</P>";
     echo "</BODY></HTML>";
     
     ?>
    Je suis arrivé à mes fins, mais ce qui est désolant, c'est que je comprends pas plus au code .l'intuition ne fait pas tout .....Un lien pour m'expliquer ces histoires de point ?
    Dernière question : comment laisser ma page de remerciement que quelques secondes ouverte ou avoir ici une redirection automatique vers la page index ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "<HTML><HEAD>";
     echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY bgcolor=#99CC00>";
     echo "<H1 align=center>Merci de votre collaboration $nom </H1>";
     echo "<P align=center>";
     echo "Votre formulaire à bien été envoyé !</P>";
     echo "</BODY></HTML>";
    Merci et bonne journée....courage pour ceux qui travaillent !

  9. #9
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par pointup Voir le message
    Je suis arrivé à mes fins, mais ce qui est désolant, c'est que je comprends pas plus au code .l'intuition ne fait pas tout .....Un lien pour m'expliquer ces histoires de point ?
    le point est l'opérateur de concaténation :
    http://php.net/language.operators.string

    Citation Envoyé par pointup Voir le message
    Dernière question : comment laisser ma page de remerciement que quelques secondes ouverte ou avoir ici une redirection automatique vers la page index ?
    il faut éviter de faire ça, si la personne ne regarde pas la page à ce moment, il ne verra pas le message
    donc il vaut mieux afficher le message et en dessous mettre un lien vers la suite

Discussions similaires

  1. [MySQL] Script récupération données bouton acheter Paypal
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 18/03/2012, 07h57
  2. [AC-2007] Bouton radio et liste (enable/Disable)
    Par swizerman dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/12/2011, 23h14
  3. Réaffichage de variables sur bouton radio et listes
    Par pasc06 dans le forum Langage
    Réponses: 1
    Dernier message: 14/10/2008, 09h57
  4. Calcul bouton radio et liste déroulante
    Par fmoitie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/09/2007, 09h34
  5. Réponses: 2
    Dernier message: 04/06/2007, 14h44

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