Mais quoi que je fasse, rien ne se passe , aucun mail n'est envoyé, aucun message d'erreur n'est affiché
(Je tiens à préciser que j'ai tester l'envoi de mail sur mon serveur avec un script tout simple, ça fonctionne)
voilà mon code, merci de me dire ce qui ne va pas
<?php
// Si le formulaire est envoyé alors on fait le traitement
if (isset($_POST['Envoyer']))
{
if (!empty($alert))
{
echo '<p style="color:red">'.$alert.'</p>';
}
//
// Récupération des informations
//
// On donne un autre nom au variable pour éviter les problèmes avec Register Global à ON
//et on traite avec htmlentities pour la sécurité et trim pour eviter les champs vides
$formNom = htmlentities(trim($_POST['nom']));
$formMail = htmlentities(trim($_POST['mail']));
$formDebut = htmlentities(trim($_POST['debut']));
$formFin = htmlentities(trim($_POST['fin']));
$formCommentaires = htmlentities(trim($_POST['commentaires']));
// 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://monsite.toile-libre.org/Reservation/send_email.php')
{
header('Location: http://monsite.toile-libre.org/');
}
//On vérifie que les champs recquis soient bien remplis
elseif(empty($formNom) || empty($formMail) || empty($formDebut) || empty($formFin))
{
$alert = 'Tous les champs recquis doivent être rensignés';
}
// On vérifie que le format de l'e-mail est correct
elseif(!preg_match($regex_mail, $formMail))
{
$alert = 'L\'adresse '.$formMail.' n\'est pas valide';
}
// On verifie qu'il n'y a aucun header dans les champs
elseif (preg_match($regex_head, $formNom)
|| preg_match($regex_head, $formMail)
|| preg_match($regex_head, $formDebut)
|| preg_match($regex_head, $formFin)
|| preg_match($regex_head, $formCommentaires))
{
$alert = 'En-têtes interdites dans les champs du formulaires';
}
// Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail
elseif (!isset ($_COOKIE['sent']))
{
//Destinataire
$to = '[email protected]';
//Construction du message
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Une demande de réservation de l\'appartement été effectuée depuis le site'."\r\n\r\n";
$msg .= 'par '.$formnom.' '.$formMail.' pour la période du '.$formDebut.' au '.$formFin."\r\n";
$msg .= '****************************'."\r\n";
$msg .= $formCommentaire."\r\n";
$msg .= '****************************'."\r\n";
//En-têtes de l'e-mail
$headers = 'From: "le site "<[email protected]>'."\r\n\r\n";
//Envoi de l'e-mail
if (mail($to, $sujet, $msg, $headers))
{
$alert = 'E-mail envoyé avec succès';
// 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 detruit la variable $_POST
unset($_POST);
}
else
{
$alert = 'Erreur de l\'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);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<link type="text/css" rel="stylesheet" href="style.css">
<title>Reservation</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<?php
if (!empty($alert))
{
echo '<p style="color:red">'.$alert.'</p>';
}
?>
<body>
<form action="index.php" method="POST">
<fieldset>
<legend><strong>Informations personnelles</strong></legend>
<label>
Nom, Prénom <font size="2" color="#FF0000">(recquis)</font>:
<input type="text" name="nom" />
</label><br /><br />
<label>
Adresse mail <font size="2" color="#0000FF">(optionnel)</font>:
<input type="text" name="mail" />
</label>
</fieldset><br />
<fieldset>
<legend><strong>Dates souhaitées </strong><font size="2" color="#FF0000">(recquis)</font></legend>
<label>
Du :
<input type="text" name="debut" />
</label><br /><br />
<label>
au :
<input type="text" name="fin" />
</label>
</fieldset><br />
<fieldset>
<legend><strong>Commentaires </strong><font size="2" color="#0000FF">(optionnel)</font></legend>
<textarea name="commentaires" cols="20" rows="7"></textarea>
</fieldset><br /><br />
<input type="submit" value="Envoyer" />
<input type="reset" value="Rétablir" />
</form>
</body>
</html>