Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire & Envoi de mail

Dreamweaver

Sujet résolu
    20 août 2006 à 11:04:22

    Bonjour,
    Je souhaite mettre sur mon site, un formulaire pour recueillir les avis des personnes qui le visite.
    J'ai 3 infos que je souhaite récupérer et recevoir par email:
    1- Profil (correspond au metier de la personne) avec 4 choix possible (la quatrième possibilitée étant "autres" avec un champ de texte libre)
    2- Le texte du message
    3- L'email de l'internaute.

    J'ai bien compris qu'il fallait que je fasse un fichier html pour le formulaire (ca c'est fait !)et un fichier php pour l'envoi du mail. Mais j'ai quelques questions qui restent sans reponses :

    1- Suis je obligé de connaitre le mail de l'internaute, pour que l'envoi du mail se fasse bien ?
    2- Est ce que je peux tester cet envoi avec Easy PHP ? Ou dois je le faire sur le serveur de mon herbergeur ?
    3 - J'ai trouvé ce code sur un forum et je l'ai modifié. POuvez vous me dire si cela vous parrait correct

    <body>
    <?php
    $profil=$HTTP_POST_VARS['profil'];
    $autres=$HTTP_POST_VARS['autre'];
    $message=$HTTP_POST_VARS['message'];
    $email=$HTTP_POST_VARS['email'];

    /////voici la version Mine
    $headers = "MIME-Version: 1.0\r\n";

    //////ici on détermine le mail en format text
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

    ////ici on détermine l'expediteur et l'adresse de réponse
    $headers .= "From: $nom <$email>\r\nReply-to : $nom <$email>\nX-Mailer:PHP";

    $subject="Avis";
    $destinataire="webmaster@asso-jockeys.com";
    $body="$profil,$autre,$message";
    if (mail($destinataire,$subject,$body,$headers)) {
    echo "Votre mail a été envoyé";
    } else {
    echo "Une erreur s'est produite";
    }
    ?>
    ?>
    </body>
    </html>

    Merci d'avance pour votre aide.


    • Partager sur Facebook
    • Partager sur Twitter
      20 août 2006 à 11:07:00

      Citation : insanebob

      1- Suis je obligé de connaitre le mail de l'internaute, pour que l'envoi du mail se fasse bien ?


      Oui.

      Citation : insanebob

      2- Est ce que je peux tester cet envoi avec Easy PHP ? Ou dois je le faire sur le serveur de mon herbergeur ?



      Hebergeur.

      Citation : insanebob

      3 - J'ai trouvé ce code sur un forum et je l'ai modifié. POuvez vous me dire si cela vous parrait correct


      Il date de dieu sait quand.
      • Partager sur Facebook
      • Partager sur Twitter
        20 août 2006 à 11:08:39

        Je ne suis pas d'accord, tu n'est pas obligé de connaitre le mail de l'internaute (du moment que te t'envois le mail à toi même).

        Edit : Mais par contre, il faudra ommettre la partie sur l'expéditeur dans le mail.
        • Partager sur Facebook
        • Partager sur Twitter
          20 août 2006 à 11:10:51

          OK, cela m'arrange si le mail n'est pas obligatoire. Car effectivement il n'y a que moi qui va le recevoir..
          Et mon fichier PHP il est comment ??
          • Partager sur Facebook
          • Partager sur Twitter
            20 août 2006 à 11:11:56

            Citation : GreenPinguin

            Je ne suis pas d'accord, tu n'est pas obligé de connaitre le mail de l'internaute (du moment que te t'envois le mail à toi même).

            Edit : Mais par contre, il faudra ommettre la partie sur l'expéditeur dans le mail.


            ?? C'est à dire ?
            Si tu ne connais pas son mail comment veux-tu lui envoyer un mail ?

            Citation : Pas de titre

            OK, cela m'arrange si le mail n'est pas obligatoire. Car effectivement il n'y a que moi qui va le recevoir..


            Ah ok, tu t'envoies le mail à toi même (c'est juste pour les test j'espere), mais ça ne change rien, tu remplis la case "mail" dans le formulaire je suppose, donc ce qui veut dire que tu donnes ton email afin de pouvoir te l'envoyer. L'internaute fera pareil donc tu as toujours besoin de son email
            • Partager sur Facebook
            • Partager sur Twitter
              20 août 2006 à 11:20:16

              Il ne veux pas envoyer de mail à celui qui envoie le formulaire, mais à lui-même. Normalement tu peux tester avec EasyPHP aussi, faut modifier php.ini, il faut mettre la valeur smtp.orange.fr (ou smtp.free.fr...) à la directive smtp_server (plus sûr du nom).

              edit :

              Citation : DivyloX

              Ah ok, tu t'envoies le mail à toi même (c'est juste pour les test j'espere), mais ça ne change rien, tu remplis la case "mail" dans le formulaire je suppose, donc ce qui veut dire que tu donnes ton email afin de pouvoir te l'envoyer. L'internaute fera pareil donc tu as toujours besoin de son email



              Ben si, il se l'enverra toujours à la même adresse vu que c'est un système de critique d'après ce que j'ai compris ; l'adresse mail sera toujours la sienne donc.
              • Partager sur Facebook
              • Partager sur Twitter
                20 août 2006 à 11:30:36

                Effectivement ca marche dans les deux cas (avec et sans mail).
                Par contre je ne récupère que les infos de texte (autres, Texte, et email) les champs correspondanst aux boutons radio ne sont pas inclus dans le mail?
                Est ce un paramètre de mon fichier PHP qui est a modifier ?
                • Partager sur Facebook
                • Partager sur Twitter
                  20 août 2006 à 11:34:00

                  Déjà tu utilises des fois $autres et des fois $autre, donc met toi d'accord là-dessus.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 août 2006 à 11:36:57

                    Ah oui, j'ai corrigé. Merci
                    Est ce qu'il faut que je remplace les valeurs de : $profil=$HTTP_POST_VARS['profil']; ??
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 août 2006 à 11:39:14

                      Comment ça remplacer ? o_O
                      Une chose aussi, n'utilise pas $HTTP_POST_VARS mais $_POST ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 août 2006 à 12:12:05

                        J'ai corrigé, mais je ne récupère toujours pas les valeurs de mes boutons radio :(
                        Quand je parle de remplacer, c'est plutôt modifier le 'VARS' !?
                        Ce n'est pas cette valeur qui indique le format du champs de formulaire??
                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 août 2006 à 12:27:17

                          Désolé, mais ca veut dier quoi,
                          Je suis un novice en PHP :euh:
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 août 2006 à 12:35:22

                            Met ça dans ton fichier, tout au début :

                            print_r($_POST); die;


                            C'est pour afficher le contenu de $_POST
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 août 2006 à 12:57:53

                              J'ai trouvé, encore une erreur de syntaxe :euh:
                              Ca marche désormais,

                              MErci pour votre aide
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Formulaire & Envoi de mail

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown