Formulaire de reservation

Signaler
Messages postés
1
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
6 décembre 2010
-
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

Je dois créer un formulaire de réservation comme on peut en trouver pour les hôtels.
J'ai utilisé un script php, tout fonctionne mais je dois appliquer une restriction sur laquelle je bloque...

En fait, les réservations saisies ne doivent pas pouvoir l'être si la date d'arrivée et la date de départ ne sont pas des samedis, il faudrait donc que le formulaire ne propose que des dates correspondantes aux samedis de chaque mois.
Des que je touche le code plus rien ne marche :/

Je suis un grand grand grand novice ^^

voici le code actuel

<html>
<head>
<title>Demande de disponibilité</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    background-color: #d2cdd3;
}
body,td,th {
    color: #d2cdd3;
}
.Style1 {color: #000000}
.Style2 {font-family: Geneva, Arial, Helvetica, sans-serif}
.Style4 {font-size: 12px}
.Style5 {color: #000000; font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; }
-->
</style></head>




  <form name="form1" method="post" action="envoimail.php">

  ,

----

Nom,
,

----

Prénom,
,

----

Adresse,
,

----

CP et ville,
,

----

Email,
,

----

Téléphone,
,

----

Nombre de personnes ,
,

----

Type,
<select name="type" id="type">
<option value="Studio">Studio</option>
<option value="T3">T3</option>
<option value="T3 +">T3 +</option>
<option value="T4">T4</option>
</select>,

----

Jour d'arrivée ,
<select name="jour_ar" id="jour_ar">
<?php
for($i=1; $i<32;$i++)
{
if($i<10)
{
echo '<option value="0'.$i.'">0'.$i.'</option>\n';
}else
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
}
?>
</select>
<select name="mois_ar" id="select2">
<?php
for($i=1; $i<13;$i++)
{
if($i<10)
{
echo '<option value="0'.$i.'">0'.$i.'</option>\n';
}else
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
}
?>
</select>
<select name="an_ar" id="select3">
<?php
$an = date("Y");
for($i=$an; $i<$an+3;$i++)
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
?>
</select>,

----

Jour de départ ,
<select name="jour_dep" id="select4">
<?php
for($i=1; $i<32;$i++)
{
if($i<10)
{
echo '<option value="0'.$i.'">0'.$i.'</option>\n';
}else
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
}
?>
</select>
<select name="mois_dep" id="select5">
<?php
for($i=1; $i<13;$i++)
{
if($i<10)
{
echo '<option value="0'.$i.'">0'.$i.'</option>\n';
}else
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
}
?>
</select>
<select name="an_dep" id="select6">
<?php
$an = date("Y");
for($i=$an; $i<$an+3;$i++)
{
echo '<option value="'.$i.'">'.$i.'</option>\n';
}
?>
</select>,

----

Commentaire,
<textarea name="commentaire" cols="30" rows="2" id="commentaire"></textarea>,

----

,


  </form>



</html>


<?php

$postmail = "test@wanadoo.fr";

$nom="";
$prenom="";
$adresse="";
$cp_et_ville="";
$email="";
$telephone="";
$nombre="";
$type="";
$jour_ar="";
$mois_ar="";
$an_ar="";
$jour_dep="";
$mois_dep="";
$an_dep="";
$commentaire="";

if(isset($_POST['nom'])){$nom = $_POST['nom'];}
if(isset($_POST['prenom'])){$prenom = $_POST['prenom'];}
if(isset($_POST['adresse'])){$adresse = $_POST['adresse'];}
if(isset($_POST['cp_et_ville'])){$cp_et_ville = $_POST['cp_et_ville'];}
if(isset($_POST['email'])){$email = $_POST['email'];}else{$email="test@wanadoo.fr";}
if(isset($_POST['telephone'])){$telephone = $_POST['telephone'];}
if(isset($_POST['type'])){$type = $_POST['type'];}
if(isset($_POST['jour_ar'])){$jour_ar = $_POST['jour_ar'];}
if(isset($_POST['mois_ar'])){$mois_ar = $_POST['mois_ar'];}
if(isset($_POST['an_ar'])){$an_ar = $_POST['an_ar'];}
if(isset($_POST['jour_dep'])){$jour_dep = $_POST['jour_dep'];}
if(isset($_POST['mois_dep'])){$mois_dep = $_POST['mois_dep'];}
if(isset($_POST['an_dep'])){$an_dep = $_POST['an_dep'];}
if(isset($_POST['nombre'])){$nombre = $_POST['nombre'];}
if(isset($_POST['commentaire'])){$commentaire = $_POST['commentaire'];}

$sujet = "[ Nouvelle demande de réservation BV ]";
$corps = "Vous venez de recevoir une demande de réservation.\n\n
        Nom : $nom,\n
        Prénom : $prenom\n
        adresse : $adresse\n
        cpville : $cp_et_ville\n
        email : $email\
        telephone : $telephone\n
        nombre_personnes: $nombre\n
        type: $type\n
        date d'arrivée: $jour_ar/$mois_ar/$an_ar
        date de depart: $jour_dep/$mois_dep/$an_dep
        commentaire: $commentaire\n

";


$headz="From:$email";
if(mail($postmail,$sujet,stripslashes($corps),stripslashes($headz)))
{
    ?>
    <script language="javascript">
        alert("Votre demande a bien été envoyée, nous y répondrons dans les plus brefs délais. Merci");
        window.close();
    </script>
    <?php
}else
{
    ?>
    <script language="javascript">
        alert("UNE ERREURE S'EST PRODUITE");
    </script>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html">
    <?php
}


?>


Merci d'avance pour vôtre aide :)
A voir également:

2 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Une des multiples techniques pour vérifier le jour de la semaine consiste à générer un timestamp à partir de la date fournie (utilisation de mktime()) puis d'utiliser date() avec le bon format pour effectuer la vérification.

Passe ensuite un petit coup d'AJAX pour avoir un formulaire qui restreigne dynamiquement les choix (chaque choix limite les autres en fonction des possibilités), et le tour est joué. Attention, restreindre les suggestions ne te dispense pas d'une vérification des données envoyées.
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
Salut,

La première chose à faire est de ne pas proposer toutes les dates du mois pour les dates de départ et d'arrivée...
Avec PHP5 et les classes DateTime et DatePeriod, la liste des samedis de l'année doit pouvoir se coder en quelques lignes.
Sinon, moi j'aime bien strftime(), en lui passant comme argument un truc du genre 'next saturday'.

Sinon, pour vérifier qu'une date est un samedi, le bon format à passer à date() est w (0 à 6) ou N (1 à 7, depuis PHP5.1) (je suis dans un bon jour pour donner ce genre d'information, d'ordinaire je réponds plutôt comme TychoBrahe)

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)