Formulaire html et envoi par php

Résolu
Bonjour à tous,

je suis nouveau ici et egalement debutant en conception de site web j'epere donc que vous pourrais m'aider

j'ai créé un formulaire sur mon site tout en html mais j'aimerais que le contenu du formulaire me soit envoyé directement sur ma boite mail contact@ophoto.fr

voici le code php que j'ai fais mais ca ne fonctionne pas :

<?php 
$msg .= "Sender NOM:\t$sender_nom\n";
$msg .= "Sender Prénom:\t$sender_prenom\n";
$msg .= "Sender E-mail:\t$sender_mail\n";
$msg .= "sender Adresse Postale:\t$sender_adresse\n";
$msg .= "sender Téléphone:\t$sender_tel\n";
$msg .= "sender Recontacter par:\t$sender_R1\n";
$msg .= "sender Est:\t$sender_vousetes\n";
$msg .= "sender Précison:\t$sender_precisionvousetes\n";
$msg .= "sender Objet:\t$sender_objet\n";
$msg .= "sender Précision objet:\t$sender_autreobjet\n";
$msg .= "sender Message:\t$sender_message\n\n";

$recipient = "contact@ophoto.fr";
$subject = "Mail en provenance de OPHOTO.FR";

$mailheaders = "From: OPHOTO.FR <> \n";
$mailheaders .= "Reply-To: $sender_mail\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $sender_name</H1>";
echo "<P align=center>";
echo "Votre message a été envoyé, bonne continuation de visite sur OPHOTO.FR</P>";
echo "</BODY></HTML>";

?>


que dois je changer ou où dois le placer pour que cela fonctionne
merci
Configuration: TOSHIBA SATELLITE A60 1,5Go de Ram CPU à 2,8Ghz
windows XP

12 réponses

  1. Bonsoir,

    - tu cree ton formulaire:
    <html>
    <form name="formulaire_mail" method="post" action"ton_script.php">
    <input type="text" name="sender_nom">
    <input type="texte" name="sender_prenom">

    etc...

    <input type="submit" name="envoi" value="Envoyer mail">
    </form>
    </html>

    ce formulaire va appeler ton script php qui fera l'envoi du mailpar la fonction mail(.....)

    pour plus de détails sur les formulaires et le php voir le site www.siteduzero.com
    1. bonjour,

      je veux faire un formulaire html pour l'envoyer par mail. comme tu est fort sur sujet, tu veux bien me faire un exemple avec le script en php.

      merci
    2. Modérateur
      1 - tu t'inscris
      2 - tu crées ton post
      merci
  2. bonjour,

    pour chacune des variables que tu recupere du formulaire il faut que tu ait au début: $sender_nom= $_ POST['sender_nom']; (ici exemple pour la première variable)
    il faut que tu fasse cette ligne pour chaque variable de ton formulaire( en adaptant chaque nom)

    de plus sur cette ligne: $msg .= "Sender NOM:\t$sender_nom\n"; enleve le point qui precede le signe "=",

    voila j'espere que ton code fonctionnera
    1. Bonsoir,

      je ne suis pas d'accord avec Flouch22 qd il dit:

      de plus sur cette ligne: $msg .= "Sender NOM:\t$sender_nom\n"; enleve le point qui precede le signe "=",


      le .= permet de concatener , donc de rajouter à chaque fois à la variable $msg !!!!

      dans le cas présent il est indispensable t il faut le laisser.

      Est ce que ton hebergeur acceptes le PHP ???
      1. oui mon hebergeur accepte

        je suis chez 1hebergement il est tres complet mais pour un debutant comme c'est un peu ... ... tous ces languages

        je vais essayer le lien de bg62 et voir ce qu'il propose pour comparer si je peux voir la source biensur

        je vous tiens au courant

        merci
        1. ca y est j'ai trouvé, c'était une petite erreur de frappe dans la ligne action du formulaire html et je ne c'est pas pourquoi le fait qu'il est le therme sender a chaque ligne demandé sur le mail

          le bon code donc est :
          <?php 
          $msg .= "NOM:\t$sender_nom\n";
          $msg .= "Prénom:\t$sender_prenom\n";
          $msg .= "E-mail:\t$sender_mail\n";
          $msg .= "Adresse Postale:\t$sender_adresse\n";
          $msg .= "Téléphone:\t$sender_tel\n";
          $msg .= "Recontacter par:\t$sender_R1\n";
          $msg .= "Est:\t$sender_vousetes\n";
          $msg .= "Précison:\t$sender_precisionvousetes\n";
          $msg .= "Objet:\t$sender_objet\n";
          $msg .= "Précision objet:\t$sender_autreobjet\n";
          $msg .= "Message:\t$sender_message\n\n";
          
          $recipient = "contact@ophoto.fr";
          $subject = "Mail en provenance de OPHOTO.FR";
          
          $mailheaders = "From: OPHOTO.FR <> \n";
          $mailheaders .= "Reply-To: $sender_mail\n\n";
          
          mail($recipient, $subject, $msg, $mailheaders);
          
          echo "<HTML><HEAD>";
          echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
          echo "<H1 align=center>Merci, $sender_nom $sender_prenom</H1>";
          echo "<P align=center>";
          echo "Votre message a été envoyé, bonne continuation de visite sur OPHOTO.FR</P>";
          echo "</BODY></HTML>";
          
          ?>


          cependant j'ai un petit soucis autre que dois mettre pour pouvoir avoir un lien de retour vers mon site lors du message de confirmation ?
          1. Comme je vous disais tout a l'heure j'ai un soucis pour inseré un lien

            j'ai testé avec :
            echo "<a href="http://www.ophoto.fr">RETOUR AU SITE</a>

            mais ca ne fonctionne pas

            je me suis dis qu'avec une redirection ce serait mieux, donc j'ai fais ceci :

            echo "<HTML><HEAD>";
            echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
            echo "<H1 align=center>Merci, $sender_nom $sender_prenom</H1>";
            echo "<P align=center>";
            echo "Votre message a été envoyé, bonne continuation de visite sur OPHOTO.FR</P>";
            echo "<p></p>";
            echo "<p></p>";
            echo "<p align=center>";
            echo "Vous serez redirigé vers OPHOTO dans moins de 10 secondes</p>";
            echo "<http-equiv="Refresh" content="10" URL="http://www.ophoto.fr" />";
            echo "</BODY></HTML>";


            Mais toujours rien Grrrrrrrrrrrr!!!!!!!!!!!!!!

            Pour voir le message d'erreur suite au formulaire c'est là :
            http://www.ophoto.fr/contact.htm

            HELP ME PLEASE ! ! !
            1. Contributeur
              echo "<a href=\"http://www.ophoto.fr\">RETOUR AU SITE</a>";

              il faut échapper les guillemets, sinon php arrète de lire juste après href= et s'arrete a ce niveau là.
              1. Merci gryzzly mais ca ne fonctionne toujours pas

                voici l'erreur que j'obtiens :

                Parse error: syntax error, unexpected '/' in /web/ophoto/www/traitementmail.php on line 34


                voici le code complet de ma page php :

                <?php 
                $msg .= "$sender_nom\n";
                $msg .= "$sender_prenom\n\n";
                $msg .= "$sender_mail\n\n";
                $msg .= "Adresse Postale:\n";
                $msg .= "$sender_adresse\n\n";
                $msg .= "Téléphone:\n";
                $msg .= "$sender_tel\n\n";
                $msg .= "Recontacter par:\t$sender_R1\n\n";
                $msg .= "Activité:\t$sender_vousetes\n";
                $msg .= "Précison:\t$sender_precisionvousetes\n\n";
                $msg .= "Objet:\t$sender_objet\n";
                $msg .= "Précision:\t$sender_autreobjet\n\n";
                $msg .= "Message:\n";
                $msg .= "$sender_message\n\n";
                
                $recipient = "contact@ophoto.fr";
                $subject = "Mail en provenance de OPHOTO.FR";
                
                $mailheaders = "From: $sender_nom $sender_prenom via ophoto  <> \n";
                $mailheaders .= "Reply-To: $sender_mail\n\n";
                
                mail($recipient, $subject, $msg, $mailheaders);
                
                echo "<HTML><HEAD>";
                echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
                echo "<H1 align=center>Merci, $sender_nom $sender_prenom</H1>";
                echo "<P align=center>";
                echo "Votre message a été envoyé, bonne continuation de visite sur OPHOTO.FR</P>";
                echo "<p></p>";
                echo "<p></p>";
                echo "<p align=center>";
                echo "<a href=\"http://www.ophoto.fr\">RETOUR AU SITE</a></p>;
                echo "</BODY></HTML>";
                
                ?>
                1. Contributeur
                  tu as pas fermé le guillemet de la ligne 33.
                  erreur de frappe de ma part, mais si tu ne recopiais pas bêtement ce que l'on te donnes... ;o)

                  echo "<a href=\"http://www.ophoto.fr\">RETOUR AU SITE</a></p>";
                  1. Contributeur
                    au passage, je te conseille d'utiliser un éditeur de texte avec coloration syntaxique, ca te permet de voir plus rapidement les erreurs. Tu as par exemple "notepad++" ou "pspad", qu etu dois pouvoir trouver dans la section logiciel de CCM, ou alors via google.
                    1. C'est parfais tout fonctionne

                      Merci gryzzly pour ton coup de pouce que j'ai betement recopié
                      ;o)

                      SUPER CE FORUM

                      Pour info je suis photographe amateur et le site que je travail est :
                      http://www.ophoto.fr
                      passez voir si vous avez 2 minutes

                      voici le code final de la page php pour envoyer les infos d'un formulaire html sur une adresse mail (bien sur changé les adresse ;o) )

                      <?php 
                      $msg .= "$sender_nom\n";
                      $msg .= "$sender_prenom\n\n";
                      $msg .= "$sender_mail\n\n";
                      $msg .= "Adresse Postale:\n";
                      $msg .= "$sender_adresse\n\n";
                      $msg .= "Téléphone:\n";
                      $msg .= "$sender_tel\n\n";
                      $msg .= "Recontacter par:\t$sender_R1\n\n";
                      $msg .= "Activité:\t$sender_vousetes\n";
                      $msg .= "Précison:\t$sender_precisionvousetes\n\n";
                      $msg .= "Objet:\t$sender_objet\n";
                      $msg .= "Précision:\t$sender_autreobjet\n\n";
                      $msg .= "Message:\n";
                      $msg .= "$sender_message\n\n";
                      
                      $recipient = "contact@ophoto.fr";
                      $subject = "Mail en provenance de OPHOTO.FR";
                      
                      $mailheaders = "From: $sender_nom $sender_prenom via ophoto  <> \n";
                      $mailheaders .= "Reply-To: $sender_mail\n\n";
                      
                      mail($recipient, $subject, $msg, $mailheaders);
                      
                      echo "<HTML><HEAD>";
                      echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
                      echo "<H1 align=center>Merci, $sender_nom $sender_prenom</H1>";
                      echo "<P align=center>";
                      echo "Votre message a été envoyé, bonne continuation de visite sur OPHOTO.FR</P>";
                      echo "<p></p>";
                      echo "<p></p>";
                      echo "<p align=center>";
                      echo "<a href=\"http://www.ophoto.fr\">RETOUR AU SITE</a></p>";
                      echo "</BODY></HTML>";
                      
                      ?>


                      MERCI A TOUS
                      A bientot
                      1. Bonjour,

                        voilà j'ai un formulaire de contact sur mon site en html, j'ai voulu faire votre méthode mais je ne reçois pas de mail.

                        je dois avoir une erreur à un endroit pourtant j'ai bien le message "Merci,
                        Votre message a été envoyé, bonne continuation de visite sur clesauxpates.free.fr"

                        mon fichier contact2.php est comme ceci :

                        <body>
                        <?php
                        $msg .= "$sender_nom\n";
                        $msg .= "$sender_prenom\n\n";
                        $msg .= "$sender_mail\n\n";
                        $msg .= "Adresse Postale:\n";
                        $msg .= "$sender_adresse\n\n";
                        $msg .= "Téléphone:\n";
                        $msg .= "$sender_tel\n\n";
                        $msg .= "Recontacter par:\t$sender_R1\n\n";
                        $msg .= "Activité:\t$sender_vousetes\n";
                        $msg .= "Précison:\t$sender_precisionvousetes\n\n";
                        $msg .= "Objet:\t$sender_objet\n";
                        $msg .= "Précision:\t$sender_autreobjet\n\n";
                        $msg .= "Message:\n";
                        $msg .= "$sender_message\n\n";

                        $recipient = "toadnam@free.fr";
                        $subject = "Mail en provenance de clesauxpates.free.fr";

                        $mailheaders = "From: $sender_nom $sender_prenom via clesauxpates <> \n";
                        $mailheaders .= "Reply-To: $sender_mail\n\n";

                        mail($recipient, $subject, $msg, $mailheaders);

                        echo "<HTML><HEAD>";
                        echo "<TITLE>Transmission E-mail</TITLE></HEAD><BODY>";
                        echo "<H1 align=center>Merci, $sender_nom $sender_prenom</H1>";
                        echo "<P align=center>";
                        echo "Votre message a été envoyé, bonne continuation de visite sur clesauxpates.free.fr</P>";
                        echo "<p></p>";
                        echo "<p></p>";
                        echo "<p align=center>";
                        echo "<a href=\"http://clesauxpates.free.fr\">RETOUR AU SITE</a></p>";
                        echo "</BODY></HTML>";

                        ?>
                        </body>

                        cordialement
                      2. @toadnamC'est encore moi;

                        j'ai reçu le mail mais il m'a marqué ceci :

                        Adresse Postale:

                        Téléphone:

                        Recontacter par:

                        Activité:
                        Précison:

                        Objet:
                        Précision:

                        Message:

                        Pourtant, avant de l'envoyer j'avais mis des choses dans mon formulaire.

                        Je débute dans le php donc soyez indulgent s'il vous plait.

                        J'attends vos conseils.