Titre: Problème traitement formulaire
Posté par: Happy59 le le 18-04-2008 a 16:58:26
Bonjour, Voila j'ai un petit soucis avec mon code php pour le traîtement d'un formulaire de mon site. Quand je remplis le formulaire en faisant bien attention de ne pas faire d'erreurs j'ai droit au message suivant : " Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur. Retour au formulaire ". Je suis sur qu'il y a des pros du php sur ce forum qui pourront me régler ce petit soucis.
Voici le code du formulaire :
Code:
<form action="traitement_formulaire.php" method="post" id="contact"> <fieldset><legend>Vos coordonnées</legend> <p><label for="nom">Nom :</label><input tabindex="1" name="nom" id="nom" type="text" /></p>
<p><label for="societe">Société :</label><input tabindex="2" name="societe;" id="nom" type="text" /></p>
<p><label for="email">Email :</label><input tabindex="3" name="email" id="email" type="text" /></p>
</fieldset>
<fieldset><legend>Votre message</legend> <p><label for="objet">Objet :</label><input tabindex="4" name="objet" id="objet" type="text" /></p>
<p><label for="message">Message :</label><textarea rows="8" cols="30" tabindex="5" name="message" id="message"></textarea></p>
</fieldset>
<div style="text-align: center;"><input value="Envoyer le formulaire !" name="envoi" type="submit" /></div>
</form>
|
|
Et voici le traitement :
Code:
<?php $destinataire = "machin.fr";
$copie = "oui";
$message_envoye = "Votre message nous est bien parvenu !"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
$message_erreur_formulaire = "Vous devez d'abord <a href=\"Contact.html\">envoyer le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
if (!isset($_POST['envoi'])) {
echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { function Rec($text) { $text = trim($text); if (1 === get_magic_quotes_gpc()) { $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); }
$text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); $text = nl2br($text); return $text; };
function IsEmail($email) { $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (eregi($pattern,$email)) ? true : false; };
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$email = (IsEmail($email)) ? $email : ''; if (($nom != '') && ($societe != '') && ($email != '') && ($objet != '') && ($message != '')) {
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; };
$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);
if (mail($cible, $objet, $message, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; } else {
echo '<p>'.$message_formulaire_invalide.' <a href="Contact.html">Retour au formulaire</a></p>'."\n"; }; }; ?> |
|
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|