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 106 107
| <?php
require_once "config.php";
// contient Header("Content-type:text/html; charset=UTF-8");
/* Récupération du mail destinataire dans la table societe */
$req="SELECT idsoc, mailSoc
FROM societe";
$result = mysql_query($req);
$rows = mysql_fetch_assoc($result);
$mailSoc = $rows['mailSoc'];
/* Si le formulaire est envoyé alors on fait les traitements */
if (isset($_POST['envoye']))
{
/* Récupération des valeurs des champs du formulaire */
$entreprise = trim($_POST['entreprise']);
$civilite = trim($_POST['civilite']);
$nom = trim($_POST['nom']);
$expediteur = trim($_POST['email']);
$sujet = trim($_POST['sujet']);
$message = trim($_POST['message']);
/* Expression régulière permettant de vérifier si le format d'une adresse e-mail est correct */
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
/* Expression régulière permettant de vérifier qu'aucun en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';
/* Si le formulaire n'est pas posté de notre site on renvoie vers la page d'accueil */
if($_SERVER['HTTP_REFERER'] != 'http://www.xxx.com/envoyerMessage_fr.php') {
echo "<script>window.location='societe_fr.php'</script>";
}
/* On vérifie que tous les champs sont remplis */
elseif (empty($civilite)
|| empty($nom)
|| empty($expediteur)
|| empty($sujet)
|| empty($message))
{
$alert = 'Tous les champs précédés d\'un * doivent être renseignés';
}
/* On vérifie que le format de l'e-mail est correct */
elseif (!preg_match($regex_mail, $expediteur)) {
$alert = 'L\'adresse e-mail '.$expediteur.' n\'est pas valide';
}
/* On vérifie qu'il n'y a aucun header dans les champs */
elseif (preg_match($regex_head, $expediteur)
|| preg_match($regex_head, $entreprise)
|| preg_match($regex_head, $nom)
|| preg_match($regex_head, $sujet))
{
$alert = 'En-têtes interdites dans les champs du formulaire';
}
/* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
elseif (!isset($_COOKIE['sent'])) {
/* Destinataire (adresse mail de la table societe) */
$to = $mailSoc;
/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
if ($_POST['entreprise']){
$msg .= 'Ce mail a été envoyé depuis xxx.com_fr par '.$civilite.' '.$nom.' (entreprise : '.$entreprise.') '."\r\n\r\n";
}
else
$msg .= 'Ce mail a été envoyé depuis xxx.com_fr par '.$civilite.' '.$nom.' '."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";
/* En-têtes de l'e-mail */
$bcc = 'xxx@gmail.com';
$headers = "From: $nom<$expediteur>-contact xxxx.com-\r\nBcc: $bcc\r\n";
$headers .='Content-Type: text/plain; charset="utf-8"'."\n";
/* Envoi de l'e-mail */
if (mail($to, $sujet, $msg, $headers)) {
$alert = 'Votre message nous a bien été envoyé et nous vous en remercions.'.'<br/>'.'S\'il contenait une demande, nous vous répondront par e-mail.';
/* On créé un cookie de courte durée (ici 120 secondes) pour éviter de renvoyer un mail en rafraichissant la page */
setcookie("sent", "1", time() + 120);
/* On détruit la variable $_POST */
unset($_POST);
}
else {
$alert = 'Erreur d\'envoi de l\'e-mail';
}
}
/* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
else {
unset($_POST);
}
}
else {
}
?> |
Partager