Contact via formailre mail (ne passe pas)

speedylol Messages postés 228 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 27 novembre 2013 - 13 oct. 2006 à 10:42
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 - 13 oct. 2006 à 10:53
bonjour j'ai un petit soucis avec mon formailare de contact pat mail , il ne passe pas je reviens toujours a la case réessayez seriez vous m'aider svp???

<?php
require'../design/tete.php';
echo"
"; 
// Dans la ligne qui suit, remplacer [mailto:webmaster@domaine.tld webmaster@domaine.tld] par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = "[mailto:pac_phil@yahoo.fr pac_phil@yahoo.fr]";// traitement des données du formulaire
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
        $etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
        if (isset($_POST["email_expediteur"])) {
                 $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
        }  
        if (isset($_POST["nom"])) {
                 $_POST["nom"]=trim(stripslashes($_POST["nom"]));    
        }
     if (isset($_POST["prenom"])) {
                 $_POST["prenom"]=trim(stripslashes($_POST["prenom"]));    
        }
     if (isset($_POST["naissance"])) {
                 $_POST["naissance"]=trim(stripslashes($_POST["naissance"]));    
        }
        if (isset($_POST["message"])) {
                 $_POST["message"]=trim(stripslashes($_POST["message"]));
        }
        // --- test de la validité des champs saisis ---
        if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
                 $erreur="Saisissez votre adresse email...";
        }
        elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
                 $erreur="Votre adresse e-mail n'est pas valide...";
        }
        elseif (empty($_POST["nom"])) {
// votre nom est vide
                 $erreur="Saisissez votre nom..."; 
        }
        elseif (empty($_POST["prenom"])) {
// votre prénom est vide
                 $erreur="Saisissez votre prénom..."; 
        }
//teste la format de la date de naissance
        elseif (!eregi("^[[:digit:]]{2}/[[:digit:]]{2}/[[:digit:]]{4}$",$_POST["naissance"])) {
// votre prénom est vide
                 $erreur="Saisissez votre date de naissance (ex: jj/mm/aaaa)\n"; 
        }   
        elseif (empty($_POST["message"])) {
// le message est vide
                 $erreur="Saisissez votre question svp...?";
        }
        else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
                 $etat="ok";
        }
}
else {
// --- le formulaire n'a pas été soumis ---
           $etat="attente";
}// fin de traitement des données du formulaire
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire de question</title>
</head>

<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
         if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
                         echo " ".$erreur."

\n";
// afficher le message d'erreur
         }
?>
        <form method ="post" action= "<?php echo $_SERVER["PHP_SELF"]; ?>">
        <label for="email_expediteur"> Votre adresse e-mail: </label>

        " />
       

        <label for ="nom">Votre Nom:</label>

        " />
       

        <label for= "prenom"> votre Prénom: </label>

        " />
       

        <label for ="naissance">Votre date de Naissance:</label>

        " />
       

      
        <label for= "message"> Poser votre question </label>

        <textarea name ="message" id="message" cols="40" rows="5"><?php
        if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
                echo htmlspecialchars($_POST["message"],ENT_QUOTES);
        }
        ?></textarea>
       

       
       

        </form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
        $entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
        $entete .= "MIME-Version: 1.0";
        if (@mail($email_webmaster,$_POST["nom"],$_POST["prenom"],$_POST["naissance"],$_POST["message"],$entete)){
// mail envoyé
                echo "Votre message a été envoyé.
\n";
                //echo "Envoyer un autre message...\n";
        }
        else {
// erreur lors de l'envoi du mail
                echo "Un problème s'est produit lors de l'envoi du message.\n";
                echo "Réessayez...\n";
        }
}


echo"
";
?>
Merci de votre aide

1 réponse

cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
13 oct. 2006 à 10:53
salut !

ton erreur est surement sur :

if (@mail($email_webmaster,$_POST["nom"],$_POST["prenom"],$_POST["naissance"],$_POST["message"],$entete)){ ...

la fonction mail c'est :
mail (
<tt>string</tt>
 
<tt>to</tt>
,
<tt>string</tt>
 
<tt>subject</tt>
,
<tt>string</tt>
 
<tt>message</tt>
,<tt>string</tt>
 
<tt>additional_headers</tt> ,<tt>string</tt>
 
<tt>additional_parameters</tt> )

alors remplace ta ligne par :

if (@mail($email_webmaster,addslashes($_POST["nom"]).' '.addslashes($_POST["prenom"]).' '.addslashes($_POST["naissance"]),addslashes($_POST["message"]),$entete)){

 
0
Rejoignez-nous