1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| <?php
// Adresse de réception des messages
$sendto = 'contact@domaine.fr';
// Sujet du message
$subject = 'Nouveau mail du site';
// Message Titre lors d'une erreur de saisie
$errormessage = 'Merci de renseigner les informations suivantes';
// Message lors d'un envoi réussi
$thanks = "Merci pour votre message<br />Une réponse vous sera apportée dans les meilleurs délais.";
// Message lors d'un message frauduleux (piège à Bot)
$honeypot = "Message frauduleux.";
// Messages lors de champs vides
$emptyname = 'Votre Nom';
$emptyemail = 'Votre adresse E-mail';
$emptytele = 'Votre numero de téléphone';
$emptymessage = 'Votre message';
// Messages lors d'une erreur de saisie
$alertname = 'Merci de bien renseigner votre Nom avec des caractères standard';
$alertemail = 'Merci de renseigner votre adresse E-mail dans ce format: <i>nom@exemple.com</i>';
$alerttele = 'Merci de bien renseigner votre Numero de telephone dans ce format: <i>01 23 45 67 89</i>';
$alertmessage = "Votre message semble comporter des caracteres speciaux, qui sont courant dans les adresses Web, merci de verifier.";
// --------------------------- Code a ne pas toucher ci-dessous, à moins de savoir ce que vous faites ---------------------------------
// Variable contenant les messages d'alertes
$alert = '';
// Variable vérifiant si une erreur se produit lors de la vérification avant l'envoi du message
// Elle passe a 1 si une erreur se produit
$pass = 0;
// Fonction qui vérifie si le numéro comporte bien 10 chiffres
function validerNumero($tel) {
//Retourne true s'il est valide, sinon false.
return preg_match('`^0[1-9]([-. ]?[0-9]{2}){4}$`', $tel) ? true : false;
}
// Fonction de nettoyage des variables pour des raisons de sécurités
function clean_var($variable) {
$variable = strip_tags(stripslashes(trim(rtrim($variable))));
return $variable;
}
// Piège à Bot
if ( empty($_POST['last']) ) {
// Vérification des variables
// Le Nom
if ( empty($_POST['name']) ) {
$pass = 1;
$alert .= "<li>" . $emptyname . "</li>";
} elseif ( ereg( "[][{}()*+?.\\^$|]", $_POST['name'] ) ) {
$pass = 1;
$alert .= "<li>" . $alertname . "</li>";
}
// Le mail
if ( empty($_POST['email']) ) {
$pass = 1;
$alert .= "<li>" . $emptyemail . "</li>";
} elseif ( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL ) ) {
$pass = 1;
$alert .= "<li>" . $alertemail . "</li>";
}
// Le téléphone
if ( empty($_POST['tele']) ) {
$pass = 1;
$alert .= "<li>" . $emptytele . "</li>";
} elseif (!validerNumero($_POST['tele'] ) ) {
$pass = 1;
$alert .= "<li>" . $alerttele . "</li>";
}
// Le message
if ( empty($_POST['message']) ) {
$pass = 1;
$alert .= "<li>" . $emptymessage . "</li>";
}
// Si une erreur d'est produit, on affiche les messages adéquat
if ( $pass==1 ) {
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\"); </script>";
echo "<h1>" . $errormessage . "</h1><br />";
echo "<ul>";
echo $alert;
echo "</ul>";
// Si aucune erreur ne se produit ($pass = 0), on envoi le message
} else {
$message = "De: " . clean_var($_POST['name']) . "\n";
$message .= "Email: " . clean_var($_POST['email']) . "\n";
$message .= "Telephone: " . clean_var($_POST['tele']) . "\n";
$message .= "Message: \n\n" . clean_var($_POST['message']);
$header = 'From:'. clean_var($_POST['email']);
// Code d'envoi du mail
mail($sendto, $subject, $message, $header);
// javascript
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\").animate({opacity: 1.0}, 4000).hide(\"slow\"); $(':input').clearForm() </script>";
echo "<b>" .$thanks. "</b>";
die();
}
// Ici on affiche le message d'erreur du piège a bot
} else {
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\"); </script>";
echo $honeypot;
}
?> |
Partager