Ou inserer le code PHP pour formulaire?

Bonjour,

Je suis en train de faire un site et cela fait plusieurs jours que je traine sur la grande toile pour essayer de voir ou insérer le code PHP pour envoyer mon formulaire sur mon mail. Au début ou à la fin de mon formulaire? J'ai l'impression que c'est au début mais je n'arrive pas à comprendre comment le code communique avec le bouton "send" qui est en bas du formulaire.
Voici le début du code HTML de mon tableau. Pouvez vous me dire s'il vous plait ou insérer le code PHP et si possible quel code serait le mieux adapter pour envoyer le formulaire par mail?
Je vous remercie d'avance pour votre aide.
PS: continuer avec ce site car le nombre de fois ou il m'a aider!!!!

<label for="label">Title:</label>
</strong></span></td>
<td><form id="form3" name="form3" method="post" action="">
<select name="title" id="title" accesskey="t" tabindex="10">
<option>Mr</option>
<option>Mlle</option>
<option>Mme</option>
</select>
</form> </td>
</tr>
<tr>
<td width="151" height="66"><span class="Style4"><strong>
<label for="label">Name:</label>
</strong></span></td>
Configuration: Mac OS X
Firefox 3.0.7

6 réponses

  1. comme ça:
    deux parties
    la première: traitement du formulaire posté
    la 2 ième: affichage du formulaire (else pas posté )

    <html>
    <head>
    </head>
    <body>
    <?php
    //tu mets ton code php içi
    if(isset($_POST['envoyer'])){
    
    	// le formulaire a té posté traitement envoi du mail
    	
    	//  etc.....
    	
    	//envoi
    	if(mail($dest,$sujet,$message,$headers)){ //bien sur tu changes en tct de tes varaibles à toi
    		//confirmation a l'utilisateur
    		echo "Le mail a bien &eacute;t&eacute; envoy&eacute; ";
    	
    	}
    
    }else{
    	//affichage du formulaire
    ?>
    <label for="label">Title:</label>
    </strong></span></td>
    <td><form id="form3" name="form3" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <select name="title" id="title" accesskey="t" tabindex="10">
    <option>Mr</option>
    <option>Mlle</option>
    <option>Mme</option>
    </select>
    </form> </td>
    </tr>
    <tr>
    <td width="151" height="66"><span class="Style4"><strong>
    <label for="label">Name:</label>
    </strong></span></td>
    
    ....
    <input type="submit" name="envoyer" value="Envoyer le formulaire">
    </form>
    <?php
    }
    ?>
    </body></html>
    
    1. Bonjour,
      Tout d'abords merci pour ta réponse et désolé pour ma réponse tardive (plus de connexion internet).
      J'ai réussi à mettre les codes et je reçois par mail le questionnaire, mais il est vide!
      De quoi cela peut venir?
      1. Ça je ne peux pas te dire d'où ça peut venir sans voir ton code.
        1. en effet, cela pourrait être plus facile avec!!!

          <?php

          $msg .= "name:\t$name\n";
          $msg .= "surname:\t$surname\n";
          $msg .= "email:\t$email\n\n";
          $msg .= "you are:\t$you are\n";
          $msg .= "agency name:\t$agency name\n";
          $msg .= "demand:\t$demand\n";

          $recipient = "jakeborland@gmail.com";
          $subject = "Formulaire";

          $mailheaders = "From: Mon test de formulaire<> \n";
          $mailheaders .= "Reply-To: $email\n\n";

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

          echo "<HTML><HEAD>";
          echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
          echo "<H1 align=center>Thank you, $nom </H1>";
          echo "<P align=center>";
          echo "Your demand has been sent to French Prestige Weddings. We will be in touch soon !</P>";
          echo "</BODY></HTML>";

          ?>
          1. <?php

            //il faut recuperer les variables postees
            $name=$_POST['name']; //si name est le nom du champ nom dans ton formulaire

            //etc..

            //tu concatenes $msg par .= mais il faut partir de qq chose même vide
            $msg="";
            $msg .= "name:\t$name\n";
            $msg .= "surname:\t$surname\n";
            $msg .= "email:\t$email\n\n";
            $msg .= "you are:\t$you are\n";
            $msg .= "agency name:\t$agency name\n";
            $msg .= "demand:\t$demand\n";

            $recipient = "jakeborland@gmail.com";
            $subject = "Formulaire";
            //c'est pas bon il faut que From et Reply soient avec TON adresse mail, vu du script et de ton serveur il ne connait pas l'email du client
            $mailheaders = "From: Mon test de formulaire<> \n";
            $mailheaders .= "Reply-To: $email\n\n";
            //vas voir sur Google " php headers mail" car il te manque des definitionbs dans ton header
            mail($recipient, $subject, $msg, $mailheaders);

            echo "<HTML><HEAD>";
            echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
            echo "<H1 align=center>Thank you, $nom </H1>";
            echo "<P align=center>";
            echo "Your demand has been sent to French Prestige Weddings. We will be in touch soon !</P>";
            echo "</BODY></HTML>";

            ?>
            1. Bonjour,
              J'ai bien essayé ce que tu a dis mais ça ne marche toujours pas.
              J'ai le message suivant qui s'affiche quand je clique sur "send"
              Parse error: syntax error, unexpected T_STRING in /homez.110/frenchpr/www/send.php on line 6

              Voici mon code que j'ai changé. (je ne comprends plus rien)Merci encore pour ton aide.

              <?php

              $name=$_POST['name'];
              $surname=$_POST['surname'];
              $email=$_POST['email'];
              $you are=$_POST['you are'];
              $agency name=$_POST['agency name'];
              $demand=$_POST['demand'];

              $msg="";
              $msg.= "name:\t$name\n";
              $msg.= "surname:\t$surname\n";
              $msg.= "email:\t$email\n\n";
              $msg.= "you are:\t$you are\n";
              $msg.= "agency name:\t$agency name\n";
              $msg.= "demand:\t$demand\n";

              $recipient = "jakeborland@gmail.com";
              $subject = "Formulaire";

              $mail_header .= "From:jakeborland@gmail.com<> \n";
              $mail_header .= "Reply-To:jakeborland@gmail.com\n\n";
              $mail_header .= 'MIME-Version: 1.0'."\n";
              $mail_header .= "Content-type: text/html; charset=iso-8859-1";

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

              echo "<HTML><HEAD>";
              echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
              echo "<H1 align=center>Thank you, $nom </H1>";
              echo "<P align=center>";
              echo "Your demand has been sent to French Prestige Weddings. We will be in touch soon !</P>";
              echo "</BODY></HTML>";

              ?>
          2. ?php
            $name=$_POST['name'];
            $surname=$_POST['surname'];
            $email=$_POST['email'];
            $you_are=$_POST['you_are'];//ne jamais mettre d'espace ni d'accents dans tes variables 
            $agency_name=$_POST['agency_name'];
            $demand=$_POST['demand'];
            //attention change tes name  dans ton formulaire pour you_are et agency_name
            $msg="";
            $msg.= "name:\t$name\n";
            $msg.= "surname:\t$surname\n";
            $msg.= "email:\t$email\n\n";
            $msg.= "you are:\t$you are\n";
            $msg.= "agency name:\t$agency name\n";
            $msg.= "demand:\t$demand\n";
            
            $recipient = "jakeborland@gmail.com";
            $subject = "Formulaire";
            $mail_header="Return-path:jakeborland@gmail.com\n";//attention a tes concatenations !!  la première doit être sans .=
            $mail_header .= "From:\"jakeborland\"<jakeborland@gmail.com>\n"; 
            //$mail_header .= "Reply-To:jakeborland@gmail.com\n"; celui la n'est pas obligatoire
            $mail_header .= 'MIME-Version: 1.0'."\n";
            $mail_header .= "Content-type: text/plain; charset=iso-8859-1";
            
            mail($recipient,$subject,$msg,$mail_header);
            
            echo "<HTML><HEAD>";
            echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
            echo "<H1 align=center>Thank you, $nom </H1>";
            echo "<P align=center>";
            echo "Your demand has been sent to French Prestige Weddings. We will be in touch soon !</P>";
            echo "</BODY></HTML>";
            
            ?>