<form id="contact" method="post" action="traitement_formulaire.php">
print_r($_POST)
<form id="contact" method="post" action="traitement_formulaire.php"> <p><i>Complétez le formulaire. Les champs marqué par </i><em>*</em> sont <em>obligatoires</em></p> <fieldset> <legend>Contact</legend> <label for="nom">Nom <em>*</em></label> <input id="nom" placeholder="Nom Prénom" required=""> <br> <label for="ste">Société </label> <input id="ste" placeholder="Société"><br> <label for="telephone">Téléphone</label> <input id="telephone" type="tel" placeholder="exemple: 01xxxxxxxx" ><br> <label for="email">Email <em>*</em></label> <input id="email" type="email" placeholder="prenom.nom@domaine.fr" required="" ><br> <label for="adresse">Adresse</label> <input id="adresse" type="text" placeholder="exemple : 10 rue de Rome" ><br> </select> <label for="ville">Ville</label> <input id="ville" type="text" ><br> </select> <label for="cp">Code Postal</label> <input id="cp" type="text" placeholder="xxxxx" ><br> <label for="pays">Pays</label> <select id="pays"> <option value="F" name="pays">France</option> <option value="B" name="pays">Belgique</option> <option value="S" name="pays">Suisse</option> <option value="A" name="pays">Autre</option> </select> <label for="autre_pays">Précisez</label> <input id="autre_pays" type="text" ><br> <label for="comments">Votre message <em>*</em></label> <textarea id="comments" required=""></textarea><br> </fieldset> <fieldset> <legend>Recevoir notre newsletter </legend> <label for="news_oui"><input id="oui" type="checkbox" name="news" value="oui"> Oui</label> <label for="news_non"><input id="non" type="checkbox" name="news" value="non"> Non</label> </fieldset> <p><input type="submit" name="envoi" value="Soumettre"></p> </form>
print_r($_POST) <?php $destinataire = 'test@test.fr'; $objet = 'contact depuis le site web' ; $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 envoyer le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; // 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 = htmlspecialchars(trim($text), ENT_QUOTES); if (1 === get_magic_quotes_gpc()) { $text = stripslashes($text); } $text = nl2br($text); return $text; }; /* * Cette fonction sert à vérifier la syntaxe d'un email */ function IsEmail($email) { $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email); return (($value === 0) || ($value === false)) ? false : true; } // formulaire envoyé, on récupère tous les champs. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $pays = (isset($_POST['pays'])) ? Rec($_POST['pays']) : ''; $autre_pays = (isset($_POST['autre_pays'])) ? Rec($_POST['autre_pays']) : ''; $comments = (isset($_POST['comments'])) ? Rec($_POST['comments']) : ''; $news = (isset($_POST['news'])) ? Rec($_POST['news']) : ''; // 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 != '') && ($comments != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" . 'Reply-To:'.$email. "\r\n" . 'X-Mailer:PHP/'.phpversion(); // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Envoi du mail if (mail($cible, $objet, $comments, $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 //------------------------------------------------ // Les fonctions... //------------------------------------------------ /* * cette fonction sert à nettoyer et enregistrer un texte */ function Rec($text) { $text = htmlspecialchars(trim($text), ENT_QUOTES); if (1 === get_magic_quotes_gpc()) { $text = stripslashes($text); } $text = nl2br($text); return $text; }; /* * Cette fonction sert à vérifier la syntaxe d'un email */ function IsEmail($email) { $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email); return (($value === 0) || ($value === false)) ? false : true; } //------------------------------------------------ // Tes variables : //------------------------------------------------ $destinataire = 'dest@dest.fr'; $objet = 'contact depuis le site web' $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."; // on teste si le formulaire a été soumis if (!isset($_POST['envoi'])){ // formulaire non envoyé echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; }else { // formulaire envoyé, on récupère tous les champs. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $pays = (isset($_POST['pays'])) ? Rec($_POST['pays']) : ''; $autre_pays = (isset($_POST['autre_pays'])) ? Rec($_POST['autre_pays']) : ''; $comments = (isset($_POST['comments'])) ? Rec($_POST['comments']) : ''; $news = (isset($_POST['news'])) ? Rec($_POST['news']) : ''; // On va vérifier les variables et l'email ... // soit l'email est vide si erroné, soit il vaut l'email entré $email = (IsEmail($email)) ? $email : ''; if (($nom != '') && ($email != '') && ($comments != '')) { // les 3 variables sont remplies, on génère puis envoie le mail $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" ; $headers .= 'Reply-To:'.$email. "\r\n" ; $headers .= 'X-Mailer:PHP/'.phpversion(); // envoyer une copie au visiteur ? $cible = ($copie == 'oui') ? $destinataire.','.$email : $destinataire; // Remplacement de certains caractères spéciaux $comments = str_replace('<br>','',$comments); $comments = str_replace('<br />','',$comments); // Envoi du mail if (mail($cible, $objet, $comments, $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'])) ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
1 août 2014 à 14:33
je vais tester tout ceci... :)
Modifié par jordane45 le 1/08/2014 à 14:42
Les lignes :
Ne servent à rien (y'en a même une de fausse).
Pour les "caractères" spéciaux... il existe des fonction PHP...(html_entity_decode par exemple :
http://php.net/manual/fr/function.html-entity-decode.php )
1 août 2014 à 14:46
1 août 2014 à 14:56