Code php pour formulaire d'envois

Bonjour,
Pouvez vous me corriger ce code php s'il vous plait ? c'est très important !

<?php

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty ($email) && !empty($message)){
$destinataire="windows.seven.site@gmail.com
$sujet="Formulaire de contact";
$msg="Une nouvelle question est arrivée \n
Nom : $nom \n
Email: $email \n
Message : $message ;
$entete="From: $nom \n Reply
mail($destinataire, $sujet, $message, $entête)
echo "Le mail à bien été envoyé."
}
else(
echo " Vous n'avez pas rempli tous les champs.";
)
}
?>

Merci d'avance !
Configuration: windows vista 
windows 7 en machine virtuel
2 GO de ram Bientôt 4 !

8 réponses

  1. merci webamies pour tron code tous marche mais quand je vais voir mes mails je n'est rien reçu
    0
    1. Merci je vais essayer !!
      0
      1. pour corriger tout, il faut coller ce script sur ta page.php ses tt.

        c'est cool avec un simple css et sa marche et n'oublie pas de compléter les messages d'erreur


        <?php
        
        $email_dest = "windows.seven.site@gmail.com";
        
        if ($_POST['envoi']) {
        
        $message_remerciement = "merci votre message a ete bien ...";
        
        // E-mail headers:
        $headers ="MIME-Version: 1.0 \n";
        $headers .="From: windows.seven.site@gmail.com \n";
        $headers .="Content-Type: text/html; charset=iso-8859-1 \n";
        
        $subject = "message e provenant du site ???";
        
        $partie_entete = "<html><head>
        <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
        </head>
        <body bgcolor=#FFFFFF>";
        
        for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
        $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
        }
        
        if ($_POST['nbre_zone_email'] != 0) {
        $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
        }
        
        if ($_POST['nbre_zones_texte'] != 0) {
        $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
        $partie_zone_texte = stripslashes($partie_zone_texte);
        }
        
        $fin = "</body></html>";
        
        $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
        
        // Send the e-mail
        if (@!mail($email_dest,$subject,$sortie,$headers)) {
        echo("Envoi du formulaire impossible");
        } // Closing if !mail...
        
        } // Closing if edit
        ?><html>
        <head>
        <title>envoi de formulaires</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script language="JavaScript"><!-- Hide script from older browsers
        function verifSelection() {if (mail_form.champ1.value == "") {
        alert("le non svp!")
        return false
        } if (mail_form.zone_email.value == "") {
        alert("mail svp!")
        return false
        }
        
        invalidChars = " /:,;'"
        
        for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
        badChar = invalidChars.charAt(i)
        
        if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
        alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
        mail_form.zone_email.focus()
        return false
        }
        }
        
        atPos = mail_form.zone_email.value.indexOf("@",1)			// there must be one "@" symbol
        if (atPos == -1) {
        alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
        mail_form.zone_email.focus()
        return false
        }
        
        if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
        alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
        mail_form.zone_email.focus()
        return false
        }
        
        periodPos = mail_form.zone_email.value.indexOf(".",atPos)
        
        if (periodPos == -1) {					// and at least one "." after the "@"
        alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
        mail_form.zone_email.focus()
        return false
        }
        
        if (periodPos+3 > mail_form.zone_email.value.length)	{		// must be at least 2 characters after the 
        alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
        mail_form.zone_email.focus()
        return false
        }if (mail_form.zone_texte.value == "") {
        alert("le message tres impotant!")
        return false
        } } // Fin de la fonction
        
        </script>
        </head>
        
        <body>
        <form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
          <div align="center"></div>
        <p align="center">
        <?php
        if ($message_remerciement) {
        echo("<font face=Verdana size=2>");
        echo(stripslashes($message_remerciement));
        echo("</p></body></html>");
        exit();
        }
        ?>
          <table width="566" border="0" align="center">
        <p align="center">
        </p><tr>
              <td><font face="Verdana" size="2">nom</font></td>
              <td><input name="champ1" type="text"></td>
            </tr><tr>
              <td width><font face="Verdana" size="2">email</font></td>
              <td width><input name="zone_email" type="text"></td>
            </tr><tr>
              <td valign="top"><font face="Verdana" size="2">message</font></td>
              <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
            </tr><tr>
              <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1">
                <input name="nbre_zones_texte" type="hidden" value="1">
        <input name="nbre_zone_email" type="hidden" value="1">
        <input name="titre_champ1" type="hidden" value="nom"><input name="titre_email" type="hidden" value="email"><input name="titre_zone" type="hidden" value="message"></td>
              <td><div align="center">
        <input type="reset" name="Reset" value="Effacer">          
        <input type="submit" name="envoi" value="Envoyer">
                </div></td>
            </tr>
          </table>
          <div align="center"></div>
        </form>
        </body>
        </html>
        0
        1. Merci mais c'est pas ça ! je veux qu'on me corrige mon code car j'ai déjà mon formulaire en HTML sur mon site voilà son code :
          <form action="page.php" method="post">
          <p><label>Votre Nom : <input type="text" name="nom" /></label></p>
          <p><label>Votre Email : <input type="text" name="email" /></label></p>
          <p><label>Votre message : <textarea name="message" rows="3" cols="50" /></textarea></label></p>
          <p><input type="submit" value="Envoyer le formulaire" /></p>
          </form>


          et moi ça renvoi a ma "page.php" et c'est le code ce cette page php que je veux qu'on me corrige !
          SVP c'est très important :(
          0
          1. tu peux aussi aller sur http://www.photoshop-creation.com
            rubrique nos générateurs. tu trouve un peu de tout mon pote
            0
            1. j'ai essayer de faire un bout de code avec les infos que tu as mis: JE NE SAIS PAS SI ÇA FONCTIONNE !
              $email_dest = "windows.seven.site@gmail.com";
              $headers ="From:$_POST['nom']<$_POST['email']>\n";
              $headers .="Content-Type: text/html; charset=iso-8859-1\n";
              $headers .='Date: '.date('r');
              
              $subject = 'Formulaire de contact';
              
              $partie_entete = "<html><head>
              <meta http-equiv=Content-Type content=text/html; charset=utf-8>
              </head>
              <body bgcolor=#FFFFFF>";
              $contenue = "
              Une nouvelle question est arrivée <br>
              Nom : ". $_POST['nom']."<br>
              Email: ".$_POST['email']."<br>
              Message : ".$_POST['message']."<br>" ;
              
              $fin = "</body></html>";
              
              $sortie = $partie_entete . $contenue . $fin;
              
              // Send the e-mail
              if (@!mail($email_dest,$subject,$sortie,$headers)) {
              echo("Envoi du formulaire impossible");
              } else { echo "Envoi OK, MErci";}
              0
              1. Non ce n'étais pas ça j'ai déjà un formulaire HTML qui renvoi à cette page PHP
                merci quand meme
                0
                1. bonjour,
                  lien vers un générateur de formulaire php, il manque trop de truc pour corriger le tien.

                  http://infoxp.leobaillard.org/formulaire/
                  Bonne journée
                  0