A voir également:
- Envoi formulaire vers mail en PHP
- Yahoo mail - Guide
- Publipostage mail - Guide
- Votre envoi est en cours de transport vers son site de livraison - Forum Consommation & Internet
- Programmer envoi mail gmail - Guide
- Alert php ✓ - Forum PHP
2 réponses
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
13 oct. 2009 à 00:08
13 oct. 2009 à 00:08
Essaye plutot avec ce code, l'avantage c'est que tout est dans une seule page (.php évidemment).
Je t'ai mis quelques commentaires
Je t'ai mis quelques commentaires
<?php echo "<h3 align='center'>Page Contacts</h3>"; $destinataire = 'ton.email@domaine.com'; // Pour envoyer à plusieurs à la fois, séparer par une virgule $copie = 'non'; // envoie une copie au visiteur $form_action = 'index.php?page=contacts'; // Si pas de pseudo frames, laisser vide // Messages de confirmation du mail $message_envoye = "<p>Le message suivant a bien été envoyé, nous vous répondrons dans les plus brefs délais.</p>"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP."; // Message d'erreur du formulaire $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; function Rec($text) { // sert à nettoyer et enregistrer le texte $text = trim($text); // supprime les espaces blancs avant et après text if (1 === get_magic_quotes_gpc()) { // Si get_magic_quotes_gpc == 1 tous les signes ' " \ et NUL sont échapés avec un \ $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); } $text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well $text = nl2br($text); return $text; }; function IsEmail($email) { // Cette fonction sert à vérifier la syntaxe d'un email $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (/*mb_*/eregi($pattern,$email)) ? true : false; }; $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : ''; if (isset($_POST['envoi'])) { // 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é $err_formulaire = (IsEmail($email)) ? false : true; if (($nom != '') && ($prenom != '') && ($email != '') && ($objet != '') && ($message != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = '<b>From:</b> '.$nom.' '.$prenom.'<'.$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 = html_entity_decode($message); $message = str_replace(''',"'",$message); $message = str_replace('’',"'",$message); $message = str_replace('<br>','',$message); $message = str_replace('<br />','',$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)) { echo '<h4 style="color:#F00">Succès</h4>'.$message_envoye.'<p><fieldset style="font-size:12px;">'.$headers.'<br><b>To:</b> Support<br><b>Objet:</b> '.$objet.'<br><b>Contenu:</b> '.$message.'</p></fieldset><p><meta http-equiv="refresh" content="10;URL=index.php?page=accueil">Vous allez être redirigé vers l´accueil dans 10 secondes<br /><a href="index.php?page=accueil">Retourner vers l´accueil maintenant</a></p>'."\n"; } else { echo '<h4 style="color:#F00">Erreur</h4>'.$message_non_envoye.'<p><a href="index.php?page=contacts">Réessayer</a></p>'."\n"; }; } else { // une des 3 variables (ou plus) est vide ... echo '<p>'.$message_formulaire_invalide."\n"; $err_formulaire = true; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) { // afficher le formulaire echo '<form id="contact" method="post" action="'.$form_action.'">'."\n"; echo ' <fieldset style="text-align:center;"><legend>Vos coordonnées</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="nom">Nom :</label><br />'."\n"; echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="prenom">Prénom :</label><br />'."\n"; echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="email">Email :</label><br />'."\n"; echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="3" />'."\n"; echo ' </p>'."\n"; echo ' </fieldset>'."\n"; echo ' <fieldset style="text-align:center;"><legend>Votre message :</legend>'."\n"; echo ' <p>'."\n"; echo ' <label for="objet">Objet :</label><br />'."\n"; echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="4" />'."\n"; echo ' </p>'."\n"; echo ' <p>'."\n"; echo ' <label for="message">Message :</label><br />'."\n"; echo ' <textarea id="message" name="message" tabindex="4" cols="35" rows="12">'.stripslashes($message).'</textarea>'."\n"; echo ' </p>'."\n"; echo ' </fieldset><br />'."\n"; echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer" /> | <input type="reset" name="Annuler" value="RAZ" /></div>'."\n"; echo '</form>'."\n"; }; ?>