Bonjour j'ai un problème avec ma page contact les mail sont bien envoyé mais le message ce retrouve à la place de l'objet du mail qui lui n'est pas envoyé. Si quelqu'un pouvez me donné un coup de main merci d'avance
Html
php
Ps: je suis héberger chez free
Modifié par slin (26 Mar 2013 - 14:58)
Html
<div id="form">
<form id="contact_form" name="form_contact" method="post" action="traitement.php">
<p><label for="nom">Votre Nom</label> </p>
<p><input type="text" id="nom" name="nom" placeholder="Prénom et nom" required tabindex="1"/></p>
<p><label for="email">Votre email</label></p>
<p><input type="text" id="email" name="email" placeholder="exemple@domain.com" required tabindex="2"/> </p>
<p><label for="objet">Objet</label></p>
<p><input type="text" id="objet" name="objet" placeholder="L'objet de votre mail" required tabindex="3" /> </p>
<p><label for="message">Votre message</label></p>
<p><textarea name="message" id="message" tabindex="4" placeholder="Votre mail"> </textarea> </p>
<p><input type="submit" id="envoi" name="envoi" tabindex="5" value=""/></p>
</form>
</div>
php
<?php
$destinataire = 'monmail@contact.fr';
$copie = 'non'; // 'oui' ou 'non'
$message_envoye = "<div class='msg'> Votre message nous est bien parvenu . Nous y répondrons dans les plus brefs délais. Pour retourner au site cliquez <a href="monsite/contact">ici</a></div>";
$message_non_envoye = "<div class='msg'>L'envoi du mail a échoué, veuillez réessayer s'il vous plait ou utiliser une méthode traditionnelle.</div>";
$message_erreur_formulaire = "<div class='msg'>Vous devez d'abord <a href="monsite/contact">envoyer le formulaire</a>.</div>";
$message_formulaire_invalide = "<div class='msg'>Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.</div>";
ini_set('sendmail_from', 'monmail@contact.fr');
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
function Rec($text)
{
$text = trim($text); // supprime les espaces avant et après le texte
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
}
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers = 'From: '.$nom.' <'.$email.'>'."\r\n\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
}
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("'","'",$message);
$message = str_replace("\"",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $message, $headers)){
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
}
}
else
{
// une des 3 variables (ou plus) est vide ...
//echo htmlentities($objet);
echo '<p>'.$message_formulaire_invalide.'<a href="monsite/contact">Retour au formulaire</a></p>'."\n";
}
} // fin du if (!isset($_POST['envoi']))
?>
Ps: je suis héberger chez free
Modifié par slin (26 Mar 2013 - 14:58)