le 31/05/2010 à 18:45
Mon formulaire affiche un message d'erreur
Bonjour, j'ai créé un formulaire simple afin de permettre aux visiteurs de mon site de me contacter.
Me formulaire d'envoi :
Problème : J'ai tout essayé, et je tombe toujours sur le message "vous devez d'abord envoyer votre formulaire".
D'après vous, ca pourrait venir d'ou ?
Me formulaire d'envoi :
<?php <?php
$destinataire= 'contact@guillaume-reze.com';
$copie= 'OUI';
$message_envoye = "Votre message est parti. D'avance merci. Guillaume.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord envoyer le commentaire.";
$message_formulaire_invalide = "VÈrifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
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;
};
function IsEmail($mail)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$mail)) ? true : false;
};
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prénom'])) ? Rec($_POST['prenom']) : '';
$mail = (isset($_POST['mail'])) ? Rec($_POST['mail']) : '';
$entreprise = (isset($_POST['entreprise'])) ? Rec($_POST['entreprise']) : '';
$commentaire = (isset($_POST['commentaire'])) ? Rec($_POST['commentaire']) : '';
$mail = (IsEmail($mail)) ? $mail : '';
if (($nom != '') && ($prenom != '') && ($mail != '') && ($entreprise != '') && ($commentaire != ''))
{
$headers = 'From: '.$nom.' <'.$mail.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$mail;
}
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, $objet, $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 '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
php ?>
Problème : J'ai tout essayé, et je tombe toujours sur le message "vous devez d'abord envoyer votre formulaire".
D'après vous, ca pourrait venir d'ou ?