Voici le code:
<?php
$headers = "MIME-Version: 1.0 \n";
$headers = "Content-Type: text/html; charset=UTF-8 \n";
$your_email ='info@maisonduclas.com';// <<=== update to your email address
session_start();
$errors = '';
$name = '';
$visitor_email = '';
$visitor_phone = '';
$user_message = '';
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$visitor_phone = $_POST['phone'];
$user_message = $_POST['message'];
///------------Do Validations-------------
if(empty($name)||empty($visitor_email))
{
$errors .= "\n Nom et courriel sont des champs requis. ";
}
if (!preg_match("$[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email"])){ // On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières)
$errors .="Votre adresse courriel n'est pas valide...";
}
if(IsInjected($visitor_email))
{
$errors .= "\n Courriel invalide.";
}
if(empty($visitor_phone)||empty($visitor_email))
{
$errors .= "\n Le numéro de téléphone est requis. ";
}
if(empty($_SESSION['6_letters_code'] ) ||
strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
{
//Note: the captcha code is compared case insensitively.
//if you want case sensitive match, update the check above to
// strcmp()
$errors .= "\n Le code ne coïncide pas.";
}
if(empty($errors))
{
//send the email
$to = $your_email;
$subject="Nouvelle demande";
$from = $your_email;
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$body = "L'utilisateur $name a soumis une demande :\n\n".
"Nom : $name \n".
"Courriel : $visitor_email \n".
"Telephone : $visitor_phone \n".
"Message : \n ".
"$user_message \n\n ".
"IP: $ip \n";
$headers = "From: $from \r\n";
$headers = "Répondre à : $visitor_email \r\n";
echo
"<script type='text/javascript'>document.location.replace('http://www.maisonduclas.com/f_merci.html');</script>";
mail($to, $subject, $body, $headers);
}
}
// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>
<!-- define some style elements-->
<!-- a helper script for vaidating the form-->
<script language="JavaScript" src="scripts/gen_validatorv31.js" type="text/javascript"></script>
<?php
if(!empty($errors)){
echo "<p class='err'>".nl2br($errors)."</p>";
}
?>
<div id='contact_form_errorloc' class='err'></div>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" name="contact_form" id="contact_form">
<p>
<label for='name'>Nom et prénom : </label>
<br />
<input type="text" name="name" value='<?php echo htmlentities($name) ?>' />
</p>
<p>
<label for='email'>Courriel : </label>
<br />
<input type="text" name="email" value='<?php echo htmlentities($visitor_email) ?>' />
</p>
<p>
<label for='phone'>Téléphone : </label>
<br />
<input type="text" name="phone" value='<?php echo htmlentities($visitor_phone) ?>' />
</p>
<p>
<label for='message'>Nbre de pers., nbre de nuits et date désirée :</label>
<br />
<textarea name="message" rows="8" cols="30"><?php echo htmlentities($user_message) ?></textarea>
</p>
<p><img src="f_captcha_code_file.php?rand=<?php echo rand(); ?>"
width="140" height="40" id='captchaimg' ><br>
<label for='message'>Entrez le code s.v.p. :</label><br>
<input id="6_letters_code" name="6_letters_code" type="text"><br>
<!-- <small>Code illisible? cliquer <a href='javascript: refreshCaptcha();'>ici</a> pour rafraîchir</small>-->
</p>
<p>
<input type="submit" value="Soumettre" name='submit' />
</p>
</form></td>
Lorsque j'écrie émile dans le nom-prénom, je reçois dans le courriel le mot émile comme nom.
Edit par modo : Ajout des balises de code.