<?php
// -----------------------------------------
// Source :
http://cogites.com
// Script : E RESERV
// Version : 4.11
// revente et redistribution interdites
// Vous devez laisser le copyright.
// -----------------------------------------
session_start() ;
if (!isset($_SESSION["login_admin"]) || !$_SESSION["login_admin"] == true){
// si pas connecté on retourne à la page login
header('Location: session/login.php');
exit;
}
include ("inc/conec.php");
if ($_POST) {
// on récupère les variables et on filtre / injection sql
$ID_location = mysql_real_escape_string($_POST['ID_location']);
$titre = mysql_real_escape_string($_POST['titre']);
$nom_locataire = mysql_real_escape_string($_POST['nom_locataire']);
$prenom = mysql_real_escape_string($_POST['prenom']);
$rue = mysql_real_escape_string($_POST['rue']);
$ville = mysql_real_escape_string($_POST['ville']);
$codepostal = mysql_real_escape_string($_POST['codepostal']);
$rue = mysql_real_escape_string($_POST['rue']);
$pays = mysql_real_escape_string($_POST['pays']);
$tel = mysql_real_escape_string($_POST['tel']);
$tel_portable = mysql_real_escape_string($_POST['tel_portable']);
$email = mysql_real_escape_string($_POST['email']);
$commentaire_reserv = mysql_real_escape_string($_POST['commentaire_reserv']);
$commentaire_locataire = mysql_real_escape_string($_POST['commentaire_locataire']);
$prix = floatval($_POST['prix']);
$datedeb = mysql_real_escape_string($_POST['datedeb']);
$datefin = mysql_real_escape_string($_POST['datefin']);
$date_enreg = date("Y-m-d");
// autres variables
$nbr_adultes = floatval($_POST['nbr_adultes']);
$nbr_enfants_2_13 = floatval($_POST['nbr_enfants_2_13']);
$nbr_enfants_inf_2 = floatval($_POST['nbr_enfants_inf_2']);
$pmr = floatval($_POST['pmr']);
// contrôle des dates impossibles : champs vide et la fin avant le début
include("inc/func.dates.php");
// date française en date anglaise
$datedeb = fran_angl($datedeb);
$datefin = fran_angl($datefin);
$erreur = ctrl_date($datedeb, $datefin);
// contrôle des dates impossibles : recouvrement des périodes
if (is_dir('suivi')){// si module suivi AND ($T_reserv.etat_reserv=2)
$req = mysql_query("SELECT * from $T_reserv WHERE ID_location=$ID_location AND
(
('$datedeb' >= datedeb AND '$datedeb' < datefin)
OR
('$datefin' > datedeb AND '$datefin' <= datefin)
OR
('$datedeb' < datedeb) AND (datedeb < '$datefin')
OR
('$datedeb' = datedeb) AND (datefin = '$datefin')
OR ('$datedeb' = datedeb)
)
AND ($T_reserv.etat_reserv=2)
") or die ("erreur requete recouvrement date");
}
else{
$req = mysql_query("SELECT * from $T_reserv WHERE ID_location=$ID_location AND
(
('$datedeb' >= datedeb AND '$datedeb' < datefin)
OR
('$datefin' > datedeb AND '$datefin' <= datefin)
OR
('$datedeb' < datedeb) AND (datedeb < '$datefin')
OR
('$datedeb' = datedeb) AND (datefin = '$datefin')
OR ('$datedeb' = datedeb)
)
") or die ("erreur requete recouvrement date");
}
$contenu = mysql_fetch_array ($req);
if (!empty($contenu)) {
$erreur ='!!! ERREUR !!! <br><br>La période proposée recouvre une période déjà enregistrée';
}
// gestion des champs vides ou mal complétés
if (empty($titre)) {
$erreur = "Merci de renseigner le champ titre";
}
elseif (empty($nom_locataire)) {
$erreur = "Merci de renseigner le champ nom";
}
elseif (empty($_POST['prenom'])) {
$erreur = "Merci de renseigner le champ prénom";
}
elseif (empty($_POST['ville'])) {
$erreur = "Merci de renseigner le champ ville";
}
elseif (empty($_POST['codepostal'])) {
$erreur = "Merci de renseigner le champ code postal";
}
elseif (empty($_POST['pays'])) {
$erreur = "Merci de renseigner le champ pays";
}
elseif (empty($_POST['tel']) && empty($_POST['tel_portable']) && empty($_POST['email'])) {
$erreur = "Merci de renseigner soit le champ email soit un des champs téléphones";
}
elseif(preg_match("#[[:alpha:]]+$#", $tel)){ // le tel ne peut contenir de lettre
$erreur = "Le champ numéro de téléphone ne peut contenir de lettres";
}
elseif(preg_match("#[[:alpha:]]+$#", $tel_portable)){ // le tel portable ne peut contenir de lettre
$erreur = "Le champ numéro de téléphone portable ne peut contenir de lettres";
}
elseif ((!empty($_POST['email'])) && (!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$_POST['email']))){
$erreur = "Le champ email semble non conforme";
// différente vérification de composition d'email
}
// gestion des champs vides ou mal complétés
elseif (empty($_POST['prix']) && ($_POST['prix']!=0)) { // le prix peut être à zéro
$erreur = "Merci de renseigner le champ prix";
}
elseif(empty($_POST['ID_location'])){
$erreur = "Vous devez choisir une location.";
}
// autres tests
elseif (empty($_POST['nbr_adultes']) || !is_numeric($_POST['nbr_adultes']) || ($_POST['nbr_adultes']==0)) {
$erreur = "Merci de renseigner le nombre d'adultes";
}
elseif (empty($_POST['nbr_enfants_2_13']) && !is_numeric($_POST['nbr_enfants_2_13'])) {
$erreur = "Merci de renseigner le nombre d'enfants de 2 à 13 ans";
}
elseif (empty($_POST['nbr_enfants_inf_2']) && !is_numeric($_POST['nbr_enfants_inf_2'])) {
$erreur = "Merci de renseigner le nombre d'enfants de moins de 2 ans";
}
elseif (empty($_POST['pmr']) && ($_POST['pmr'] !=0) ) {
$erreur = "Merci de d'indiquer la présence de personne(s) à mobilité réduite";
}
if(!isset($erreur)){
if (is_dir('suivi')){ // module suivi nbr_sejour = 0
// il n'y a pas d'erreur dans la saisie du formulaire on va insérer les données clients et les dates dans la base
mysql_query("INSERT INTO $T_locataires VALUES ('', '$titre', '$nom_locataire', '$prenom', '$rue', '$codepostal', '$ville', '$pays', '$tel', '$tel_portable', '$email', '$commentaire_locataire','0','$date_enreg')") or die(mysql_error());
}
else{
mysql_query("INSERT INTO $T_locataires VALUES ('', '$titre', '$nom_locataire', '$prenom', '$rue', '$codepostal', '$ville', '$pays', '$tel', '$tel_portable', '$email', '$commentaire_locataire','1','$date_enreg')") or die(mysql_error());
}
$locataire_req = mysql_query("SELECT ID_locataire FROM $T_locataires ORDER BY ID_locataire DESC") or die ("erreur chch ID_client");
$ID_locataire = mysql_result($locataire_req, 0);
if (is_dir('suivi')){ // module suivi alors on ajoute '0','' pour l'état de la réservation et la date d'envoie du contrat
mysql_query("INSERT INTO $T_reserv VALUES ('', '$ID_location', '$ID_locataire', '$datedeb', '$datefin', '$date_enreg', '$prix', '$commentaire_reserv', '$nbr_adultes', '$nbr_enfants_inf_2', '$nbr_enfants_2_13', '$pmr','0','')")or die ("erreur requète ad_reservation");
}
else{
mysql_query("INSERT INTO $T_reserv VALUES ('', '$ID_location', '$ID_locataire', '$datedeb', '$datefin', '$date_enreg', '$prix', '$commentaire_reserv', '$nbr_adultes', '$nbr_enfants_inf_2', '$nbr_enfants_2_13', '$pmr')")or die ("erreur requète ad_reservation");
}
}
} // fin if ($_POST)
?>
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!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>
<title>Formulaire réservation - loueur</title>
<style type="text/css">@import url(jscal/calendar-system.css);</style>
<script type="text/javascript" src="inc/fonc.js"></script>
<script type="text/javascript" src="jscal/calendar.js"></script>
<script type="text/javascript" src="jscal/lang/calendar-fr.js"></script>
<script type="text/javascript" src="jscal/calendar-setup.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link REL="StyleSheet" TYPE="text/css" HREF="style.css">
<style type="text/css">
fieldset {
margin-left: auto;
margin-right: auto;
width: 500px; /* largeur obligatoire pour être centré */
}
</style>
</head>
<body>
<?php
if ($_POST){?>
<table width="80%" border="0" align="center" cellspacing="0" >
<tr>
<td>
<?php if(isset($erreur)){
echo "<div class=\"texte_erreur\">$erreur</div>"; // affichage du message d'erreur dans la saisie du formulaire
}
else
{
echo "<div class=\"texte_OK\">La réservation et le locataire ont été enregistré</div>";
// fonction on enregistre, on ferme et on actualise la page
print'<script>
javascript:refreshParent()
javascript:window.close()
</script>';
}
?>
</td>
</tr>
</table>
<?php } // fin if ($_POST)
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>" >
<table width="400" border="0" align="center" bgcolor="#FFEFDF" class="texte">
<tr>
<td>
<div align="center">Choisissez votre location</div></td>
<td>
<select name="ID_location" id="nom_location">
<?php
// menu des locations
$query = "SELECT ID_location, nom_location FROM $T_locations ORDER BY nom_location";
$result = mysql_query($query) or die(mysql_error());
while ($val = mysql_fetch_array($result)) {
print'<option value="'.$val['ID_location'].'">'.$val['nom_location'].'</option>';
}
?>
</select>
</td>
</tr>
</table>
<table width="315" border="0" align="center" class="texte">
<tr>
<td><a href="formulaire_reserv_loueur_client_connu.php">client déjà
connu =></a></td>
</tr>
</table>
<br/>
<table width="500" height="520" border="0" align="center" cellspacing="0" bgcolor="#FFEFDF" class="texte">
<tr>
<td width="50%"> <div align="right"> Titre </div></td>
<td width="40%"> <select name="titre" id="titre">
<option value="" >choix</option>
<option value="Mme"<?php
if (@$_POST['titre'] == 'Mme'){
echo 'selected=\"selected\"';
}
?>>Madame</option>
<option value="Mr"<?php
if (@$_POST['titre'] == 'Mr'){
echo 'selected=\"selected\"';
}
?>>Monsieur</option>
<option value="Mlle"<?php
if (@$_POST['titre'] == 'Mlle'){
echo 'selected=\"selected\"';
}?>>Mademoiselle</option>
</select> </td>
</tr>
<tr>
<td> <div align="right"> Prénom </div></td>
<td> <input name="prenom" type="text" id="prenom" value="<?php echo htmlentities(@$_POST['prenom'], ENT_QUOTES)?>" size="30" />
</td>
</tr>
<tr>
<td> <div align="right"> NOM </div></td>
<td> <input name="nom_locataire" type="text" id="nom_locataire" value="<?php echo htmlentities(@$_POST['nom_locataire'], ENT_QUOTES)?>" size="30" />
</td>
</tr>
<tr>
<td> <div align="right"> Adresse </div></td>
<td> <input name="rue" type="text" id="rue" value="<?php echo htmlentities(@$_POST['rue'], ENT_QUOTES)?>" size="30" />
</td>
</tr>
<tr>
<td height="40"> <div align="right"> Code postal </div></td>
<td> <input name="codepostal" type="text" id="codepostal" value="<?php echo htmlentities(@$_POST['codepostal'], ENT_QUOTES)?>" size="7" maxlength="7" />
</td>
</tr>
<tr>
<td> <div align="right"> Ville </div></td>
<td> <input name="ville" type="text" id="ville" value="<?php echo htmlentities(@$_POST['ville'], ENT_QUOTES)?>" size="30" />
</td>
</tr>
<tr>
<td> <div align="right"> Pays </div></td>
<td> <input name="pays" type="text" id="pays" value="France" size="30" />
</td>
</tr>
<tr>
<td> <div align="right"> Téléphone* </div></td>
<td> <input name="tel" type="text" id="tel" value="<?php echo htmlentities(@$_POST['tel'], ENT_QUOTES)?>" size="30" maxlength="20" />
</td>
</tr>
<tr>
<td> <div align="right"> Mobile </div></td>
<td> <input name="tel_portable" type="text" id="tel_portable" value="<?php echo htmlentities(@$_POST['tel_portable'], ENT_QUOTES)?>" size="30" maxlength="20" />
</td>
</tr>
<tr>
<td> <div align="right"> Email </div></td>
<td> <input name="email" type="text" id="email" value="<?php echo htmlentities(@$_POST['email'], ENT_QUOTES)?>" size="30" maxlength="40" />
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td> <div align="right">Nombre d'adultes** </div></td>
<td> <input name="nbr_adultes" type="text" id="adultes" value="<?php if($_POST) {echo htmlentities(@$_POST['nbr_adultes'], ENT_QUOTES);} else { echo '0';}?>" size="2" maxlength="2" />
</td>
</tr>
<tr>
<td> <div align="right">Nombre d'enfants de 2 à 13 ans </div></td>
<td> <input name="nbr_enfants_2_13" type="text" id="nbr_enfants_2_13" value="<?php if($_POST) {echo htmlentities(@$_POST['nbr_enfants_2_13'], ENT_QUOTES);} else { echo '0';}?>" size="2" maxlength="2" />
</td>
</tr>
<tr>
<td> <div align="right">Nombre d'enfant de moins de 2 ans </div></td>
<td> <input name="nbr_enfants_inf_2" type="text" id="nbr_enfants_inf_2" value="<?php if($_POST) {echo htmlentities(@$_POST['nbr_enfants_inf_2'], ENT_QUOTES);} else { echo '0';}?>" size="2" maxlength="2" />
</td>
</tr>
<tr>
<td height="25"> <div align="right">Personne(s) à mobilité
réduite ? </div></td>
<td> oui
<input type="radio" name="pmr" value="1" <?php if (@$_POST['pmr']=='1') {print 'checked="checked"';}?>/>
non
<input name="pmr" type="radio" value="0" <?php if (@$_POST['pmr']!='1') {print 'checked="checked"';}?> /></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td> <div align="right"> Date de début </div></td>
<td> <input name="datedeb" type="text" id="datedeb" value="<?php
if ($_POST){
echo htmlentities(@$_POST['datedeb'], ENT_QUOTES);
}
else{
echo date("d-m-Y"); // date du jour
}
?>"
size="15" maxlength="10" /> <img src="jscal/img.gif" id="f_trigger_c" title="Sélectionner une date"
onmouseover="this.style.background='red';" onmouseout="this.style.background=''" />
<script type="text/javascript">
function UpdateField(cal) {
var field = document.getElementById("datedeb");
var field2 = document.getElementById("datefin");
field2.value = field.value;
}
Calendar.setup(
{
inputField : "datedeb", // ID of the input field
ifFormat : "%d-%m-%Y", // the date format
button : "f_trigger_c", // ID of the button
onUpdate : UpdateField
}
);
</script> </td>
</tr>
<tr>
<td> <div align="right"> Date de fin </div></td>
<td> <input name="datefin" type="text" id="datefin" value="<?php
if ($_POST){
echo htmlentities(@$_POST['datefin'], ENT_QUOTES);
}
else{
echo date("d-m-Y"); // date du jour
}
?>"
size="15" maxlength="10" /> <img src="jscal/img.gif" id="f_trigger_b" title="sélectionner une date"
onmouseover="this.style.background='red';" onmouseout="this.style.background=''" />
<script type="text/javascript">
Calendar.setup(
{
inputField : "datefin", // ID of the input field
ifFormat : "%d-%m-%Y", // the date format
button : "f_trigger_b" // ID of the button
}
);
</script> </td>
</tr>
<tr>
<td> <div align="right"> Prix </div></td>
<td> <input name="prix" type="text" id="prix" value="<?php echo htmlentities(@$_POST['prix'], ENT_QUOTES)?>" size="10" />
</td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<p>
<textarea name="commentaire_reserv" cols="40" rows="4" ><?php if ($_POST){echo htmlentities(@$_POST['commentaire_reserv'], ENT_QUOTES);} else { echo "Commentaire réservation";}?></textarea>
</p>
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<textarea name="commentaire_locataire" cols="40" rows="4" ><?php if ($_POST){echo htmlentities(@$_POST['commentaire_locataire'], ENT_QUOTES);} else { echo "Commentaire locataire";}?></textarea>
</div></td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input type="submit" name="Submit" value=" Valider / fermer" class="button" />
</div></td>
</tr>
</table>
</form>
<p>
<table width="450" border="0" align="center" cellspacing="1" class="texte">
<tr>
<td>* Renseigner soit l'email soit un des téléphones<br/>
** Tout individus de plus de 13 ans</td>
</tr>
</table>
<p>
<table width="140" border="1" cellspacing="0" bordercolor="#CCCCCC" align="center">
<tr>
<td class="texte"> <div align="center"><a href="javascript:refreshParent()">Fermer
la fenêtre</a></div>
</td>
</tr>
</table>
</body>
</html>