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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/style.css" />
<link rel="stylesheet" media="print" type="text/css" href="css/print.css" />
<script type="text/javascript" src="script/script.js"></script>
</head>
<body>
<!-- Le corps -->
<div id="corps">
<?php
/*
* Configuration :
*/
// Destinataire = adresse de reception
// Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monMail@hotmail.com';
// Copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation.
$message_envoye = "<h3>Votre message nous est bien parvenu !</h3>";
$message_non_envoye = "<h3>L'envoi du mail a échoué, veuillez réessayer SVP.</h3>";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "<h3>Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.</h3>";
$message_formulaire_invalide = "<h3>Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.</h3>";
// 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); // Supprime les caractères invisibles en début et fin de chaîne.
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// Traitement des quotes
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // Converti en string les " et '
$text = nl2br($text);
return $text;
};
/*
* Vérifie la syntaxe d'une adresse email
*/
function IsEmail($email)
{
$pattern = "#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#";
if(preg_match($pattern,$email))
return true;
else
return false;
};
// Formulaire envoyé, on récupère tous les champs.
$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']) : '';
// On vérifi les variables et l'email.
$email = (IsEmail($email)) ? $email : ''; // Soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($prenom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$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 = 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 (mail($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";
};
};
?>
</div>
</body>
</html> |
Partager