Bonjour, j'ai un soucis avec ce script de reservation, qui fonctionnait le mois dernier et depuis la resolution de ce probleme
php-debutant/formulaire-envoi-par-mail- ... 58427.html
aujourd'hui, j'officialise le site, j'ai juste changé les adresse mail de destination et depuis j'ai un message comme quoi le mail est bien envoyé mais aucun mail n'arrive sur les boites mail, j'ai essayé de rechanger les adresse sans succes. Mon site est hébergé sur toile-libre.org Merci de m'aider, ç'est en train de me rendre fou...
<?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é ainsi que
// stripslashes pour supprimer les "\" avant les "'" et trim pour eviter les champs vides
$formNom = htmlentities(stripslashes(trim($_POST['nom'])));
$formMail = htmlentities(stripslashes(trim($_POST['mail'])));
$formDebut = htmlentities(stripslashes(trim($_POST['debut'])));
$formFin = htmlentities(stripslashes(trim($_POST['fin'])));
$formCommentaires = htmlentities(stripslashes(trim($_POST['commentaires'])));
// 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://amicalespcontes.toile-libre.org/Reservation/index.php')
{
header('Location: http://amicalespcontes.toile-libre.org/');
}
//On vérifie que les champs recquis soient bien remplis
elseif(empty($formNom) || empty($formDebut) || empty($formFin))
{
$alert = 'Tous les champs recquis doivent être renseignés';
}
// On vérifie que le format de l'e-mail est correct
//AVEC LA FONCTION FILTER_VALIDATE_EMAIL
elseif(!filter_var($formMail, FILTER_VALIDATE_EMAIL) && !empty($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]';
//Sujet
$sujet = 'Demande de réservation';
//Construction du message
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Une demande de réservation de l\'appartement de St Etiennes a été effectuée depuis le site de l\'amicale'."\r\n\r\n";
$msg .= 'par '.$formNom.' '.$formMail."\r\n";
$msg .= 'pour la période du '.$formDebut.' au '.$formFin."\r\n\r\n";
$msg .= '********commentaires********'."\r\n";
$msg .= $formCommentaires."\r\n";
$msg .= '****************************'."\r\n";
$msg .= '<html>Vous pouvez mettre à jour le calendrier en vous connectant à '."\r\n";
$msg .= '<a href="https://www.google.com/calendar/render?tab=mc&pli=1&gsessionid=VE-UCWB4wlOO5KexlybvFA"> googleAgenda</a></html>'."\r\n\r\n";
//En-têtes de l'e-mail
$headers = 'From: "le site de l\'amicale"<[email protected]>'."\r\n";
$headers .='Cc: [email protected]'."\r\n";
$headers .='Bcc: [email protected]'."\r\n";
$headers .='Content-Type: text/html; charset="utf-8"'."\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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reservation</title>
<link rel="stylesheet" href="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/themes/base/jquery.ui.all.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<script src="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/ui/i18n//jquery.ui.datepicker-fr.js"></script>
<link rel="stylesheet" href="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/demos.css"></link>
</head>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
<script>
$(function() {
$( "#datepicker2" ).datepicker();
});
</script>
<?php
if (!empty($alert))
{
echo '<p style="color:red">'.$alert.'</p>';
}
?>
<body>
<div>
<iframe align="left" src="https://www.google.com/calendar/embed?pvttk=b492614926612ba0c5e6c7c1a702e9f1&title=R%C3%A9servation%20de%20l'appartement%20de%20St%20Etienne%20de%20Tin%C3%A9e&showTabs=0&showCalendars=0&showTz=0&height=600&wkst=2&bgcolor=%23999999&src=amicalespcontes%40gmail.com&color=%23182C57&ctz=Europe%2FParis" style=" border:solid 1px #777 " width="800" height="600" frameborder="0" scrolling="no"></iframe>
</div>
<div align="center">
<form action="index.php" method="POST">
<h1> <span style="text-decoration: underline; font-style: italic;">Formulaire de réservation</span></h1>
<br /><br />
<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>
<br /><br />
<legend><strong>Dates souhaitées </strong><font size="2" color="#FF0000">(recquis)</font></legend>
<label>
Du :
<input id="datepicker" type="text" name="debut" />
</label><br /><br />
<label>
au :
<input id="datepicker2" type="text" name="fin" />
</label>
<br /><br />
<legend><strong>Commentaires </strong><font size="2" color="#0000FF">(optionnel)</font></legend>
<textarea name="commentaires" cols="20" rows="7"></textarea>
<br /><br />
<input type="submit" value="Envoyer" name="envoyer" />
<input type="reset" value="Rétablir"/>
</form>
</div>
</body>
</html>
Bonjour, j'ai un soucis avec ce script de reservation, qui fonctionnait le mois dernier et depuis la resolution de ce probleme http://forum.phpfrance.com/php-debutant/formulaire-envoi-par-mail-execute-pas-t258427.html
aujourd'hui, j'officialise le site, j'ai juste changé les adresse mail de destination et depuis j'ai un message comme quoi le mail est bien envoyé mais aucun mail n'arrive sur les boites mail, j'ai essayé de rechanger les adresse sans succes. Mon site est hébergé sur toile-libre.org Merci de m'aider, ç'est en train de me rendre fou...
[php]<?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é ainsi que
// stripslashes pour supprimer les "\" avant les "'" et trim pour eviter les champs vides
$formNom = htmlentities(stripslashes(trim($_POST['nom'])));
$formMail = htmlentities(stripslashes(trim($_POST['mail'])));
$formDebut = htmlentities(stripslashes(trim($_POST['debut'])));
$formFin = htmlentities(stripslashes(trim($_POST['fin'])));
$formCommentaires = htmlentities(stripslashes(trim($_POST['commentaires'])));
// 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://amicalespcontes.toile-libre.org/Reservation/index.php')
{
header('Location: http://amicalespcontes.toile-libre.org/');
}
//On vérifie que les champs recquis soient bien remplis
elseif(empty($formNom) || empty($formDebut) || empty($formFin))
{
$alert = 'Tous les champs recquis doivent être renseignés';
}
// On vérifie que le format de l'e-mail est correct
//AVEC LA FONCTION FILTER_VALIDATE_EMAIL
elseif(!filter_var($formMail, FILTER_VALIDATE_EMAIL) && !empty($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]';
//Sujet
$sujet = 'Demande de réservation';
//Construction du message
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Une demande de réservation de l\'appartement de St Etiennes a été effectuée depuis le site de l\'amicale'."\r\n\r\n";
$msg .= 'par '.$formNom.' '.$formMail."\r\n";
$msg .= 'pour la période du '.$formDebut.' au '.$formFin."\r\n\r\n";
$msg .= '********commentaires********'."\r\n";
$msg .= $formCommentaires."\r\n";
$msg .= '****************************'."\r\n";
$msg .= '<html>Vous pouvez mettre à jour le calendrier en vous connectant à '."\r\n";
$msg .= '<a href="https://www.google.com/calendar/render?tab=mc&pli=1&gsessionid=VE-UCWB4wlOO5KexlybvFA"> googleAgenda</a></html>'."\r\n\r\n";
//En-têtes de l'e-mail
$headers = 'From: "le site de l\'amicale"<
[email protected]>'."\r\n";
$headers .='Cc:
[email protected]'."\r\n";
$headers .='Bcc:
[email protected]'."\r\n";
$headers .='Content-Type: text/html; charset="utf-8"'."\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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reservation</title>
<link rel="stylesheet" href="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/themes/base/jquery.ui.all.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<script src="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/ui/i18n//jquery.ui.datepicker-fr.js"></script>
<link rel="stylesheet" href="http://amicalespcontes.toile-libre.org/Jquery/jquery-ui-1.8.12.custom/development-bundle/demos.css"></link>
</head>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
<script>
$(function() {
$( "#datepicker2" ).datepicker();
});
</script>
<?php
if (!empty($alert))
{
echo '<p style="color:red">'.$alert.'</p>';
}
?>
<body>
<div>
<iframe align="left" src="https://www.google.com/calendar/embed?pvttk=b492614926612ba0c5e6c7c1a702e9f1&title=R%C3%A9servation%20de%20l'appartement%20de%20St%20Etienne%20de%20Tin%C3%A9e&showTabs=0&showCalendars=0&showTz=0&height=600&wkst=2&bgcolor=%23999999&src=amicalespcontes%40gmail.com&color=%23182C57&ctz=Europe%2FParis" style=" border:solid 1px #777 " width="800" height="600" frameborder="0" scrolling="no"></iframe>
</div>
<div align="center">
<form action="index.php" method="POST">
<h1> <span style="text-decoration: underline; font-style: italic;">Formulaire de réservation</span></h1>
<br /><br />
<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>
<br /><br />
<legend><strong>Dates souhaitées </strong><font size="2" color="#FF0000">(recquis)</font></legend>
<label>
Du :
<input id="datepicker" type="text" name="debut" />
</label><br /><br />
<label>
au :
<input id="datepicker2" type="text" name="fin" />
</label>
<br /><br />
<legend><strong>Commentaires </strong><font size="2" color="#0000FF">(optionnel)</font></legend>
<textarea name="commentaires" cols="20" rows="7"></textarea>
<br /><br />
<input type="submit" value="Envoyer" name="envoyer" />
<input type="reset" value="Rétablir"/>
</form>
</div>
</body>
</html>
[/php]