basaba modder | Bonjour,
j'ai un petit probleme avec mon formulaire en php.
voici le code pour le traitement_formulaire.php
Code :
- <?php
- /*
- ********************************************************************************************
- CONFIGURATION
- ********************************************************************************************
- */
- // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
- $destinataire = "monadresse@hotmail.com";
- // copie ? (envoie une copie au visiteur)
- $copie = "oui";
- // Messages de confirmation du mail
- $message_envoye = "Votre message nous est bien parvenu !";
- $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 <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.";
- /*
- ********************************************************************************************
- FIN DE LA CONFIGURATION
- ********************************************************************************************
- */
- // on teste si le formulaire a été soumis
- if (!isset($_POST['envoi']))
- {
- // formulaire non envoyé
- echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
- }
- else
- {
- /*
- * cette fonction sert à nettoyer et enregistrer un texte
- */
- 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;
- };
- /*
- * 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 = 'From: '.$nom.' <'.$email.'>' . "\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 (($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']))
- ?>
|
et voici pour le contact.htm
Code :
- <html>
- <head>
- <title></title>
- </head>
- <body>
- <form id="contact" method="post" action="http://......be/traitement_formulaire.php">
- <fieldset><legend>Vos coordonnées</legend>
- <p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
- <p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
- </fieldset>
- <fieldset><legend>Votre message :</legend>
- <p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
- <p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
- </fieldset>
- <div style="text-align:center;"> <input type="submit" name="envoi" value="Envoyer le formulaire !"/></div>
- </form>
- </body>
- </html>
|
Et voicl 'erreur:
Code :
- Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 <monadresse@hotmail.com>... we do not relay <monadresse@hotmail.com> in D:\www\.....be\.....\traitement_formulaire.php on line 101
- L'envoi du mail a échoué, veuillez réessayer SVP.
|
ou alors, il me met impssible d'afficher la page.
je ne comprend rien du tout.
Pouvez-vous m'aider à régler se petit probleme svp.
Merci Message édité par basaba le 26-01-2008 à 02:24:24 ---------------
http://forum.hardware.fr/hardwaref [...] 5483-1.htm
|