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
| Boom. There it is.
*/
// Who you want to recieve the emails from the form. (Hint: generally you.)
$sendto = 'mailadmin@nomdedomaine.com';
// The subject you'll see in your inbox
$subject = 'Réservation';
// Message for the user when he/she doesn't fill in the form correctly.
$errormessage = 'Oops! There seems to have been a problem. May we suggest...';
// Message for the user when he/she fills in the form correctly.
$thanks = "Merci d'avoir pris contact, nous traitons votre demande et confirmons celle-ci dans les plus brefs delais. ";
// Message for the bot when it fills in in at all.
$honeypot = "You filled in the honeypot! If you're human, try again!";
// Various messages displayed when the fields are empty.
$emptypresta = 'Veuillez selectionner une prestation';
$emptylieu = 'Veuillez un lieu';
$emptyname = 'Entrez votre Nom';
$emptyemail = 'Entrez votre Adresse mail';
$emptydate = 'Selectionnez la date et l\'heure';
$emptyguests = 'Entrez le nombre de convive';
$emptymessage = 'Entrez votre Message';
// Various messages displayed when the fields are incorrectly formatted.
$alertpresta = 'Utilisez le menu deroulant pour sélectionner une prestation';
$alertlieu = 'Utilisez le menu deroulant pour sélectionner un lieu';
$alertname = 'Entering your name using only the standard alphabet?';
$alertemail = 'Entering your email in this format: <i>name@example.com</i>?';
$alertdate = 'Entering date and time in this format: <i>dd/mm/yy hh:mm</i>?';
$alertguests = 'Entering your guests number using only the standard numbers? Max guests number is 99.';
$alertmessage = "Making sure you aren't using any parenthesis or other escaping characters in the message? Most URLS are fine though!";
// --------------------------- Thats it! don't mess with below unless you are really smart! ---------------------------------
//Setting used variables.
$alert = '';
$pass = 0;
// Sanitizing the data, kind of done via error messages first. Twice is better!
function clean_var($variable) {
$variable = strip_tags(stripslashes(trim(rtrim($variable))));
return $variable;
}
//The first if for honeypot.
if ( empty($_REQUEST['last']) ) {
// A bunch of if's for all the fields and the error messages.
if ( empty($_REQUEST['name']) ) {
$pass = 1;
$alert .= "<li>" . $emptyname . "</li>";
} elseif ( ereg( "[][{}()*+?.\\^$|]", $_REQUEST['name'] ) ) {
$pass = 1;
$alert .= "<li>" . $alertname . "</li>";
}
if ( empty($_REQUEST['email']) ) {
$pass = 1;
$alert .= "<li>" . $emptyemail . "</li>";
} elseif ( !eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_REQUEST['email']) ) {
$pass = 1;
$alert .= "<li>" . $alertemail . "</li>";
}
if ( empty($_REQUEST['date']) ) {
$pass = 1;
$alert .= "<li>" . $emptydate . "</li>";
} elseif ( ereg( "[][{}()*+?.\\^$|]", $_REQUEST['date'] ) ) {
$pass = 1;
$alert .= "<li>" . $alertdate . "</li>";
}
if ( empty($_REQUEST['guests']) ) {
$pass = 1;
$alert .= "<li>" . $emptyguests . "</li>";
} elseif ( !eregi("^[0-9]{2}$", $_REQUEST['guests']) ) {
$pass = 1;
$alert .= "<li>" . $alertguests . "</li>";
}
if ( empty($_REQUEST['message']) ) {
$pass = 1;
$alert .= "<li>" . $emptymessage . "</li>";
} elseif ( ereg( "[][{}()*+?\\^$|]", $_REQUEST['message'] ) ) {
$pass = 1;
$alert .= "<li>" . $alertmessage . "</li>";
}
//If the user err'd, print the error messages.
if ( $pass==1 ) {
//This first line is for ajax/javascript, comment it or delete it if this isn't your cup o' tea.
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\"); </script>";
echo "<b>" . $errormessage . "</b>";
echo "<ul>";
echo $alert;
echo "</ul>";
// If the user didn't err and there is in fact a message, time to email it.
} elseif (isset($_REQUEST['message'])) {
//Construct the message.
$message = "Prestation : " . $_POST['a'] ;
$message = "Lieu souhaité : " . $_POST['b'] ;
$message = "Lieu souhaité : " . $_POST['c'] ;
$message = "Nom : " . clean_var($_REQUEST['name']) . "\n";
$message .= "Email : " . clean_var($_REQUEST['email']) . "\n";
$message .= "Date et heure de réservation : " . clean_var($_REQUEST['date']) . "\n";
$message .= "Nombre de convive : " . clean_var($_REQUEST['guests']) . "\n";
$message .= "Message : \n" . clean_var($_REQUEST['message']);
$header = 'From:'. clean_var($_REQUEST['email']);
//Mail the message - for production
mail($sendto, $subject, $message, $header);
//This is for javascript,
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\").animate({opacity: 1.0}, 4000).hide(\"slow\"); $(':input').clearForm() </script>";
echo $thanks;
die();
//Echo the email message - for development
//echo "<br/><br/>" . $message;
}
//If honeypot is filled, trigger the message that bot likely won't see.
} else {
echo "<script>$(\".message\").hide(\"slow\").show(\"slow\"); </script>";
echo $honeypot;
}
?> |
Partager