PHP - Site de réservation
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

PHP - Site de réservation



  1. #1
    froufrou2224

    PHP - Site de réservation


    ------

    Bonjour,

    Etant en spécialité ISN en Terminale S, nous devons réaliser un projet pour le Bac. Nous avons donc choisi de créer un site de réservation pour une cafétaria. L'intérêt est de pouvoir réserver une place donnée sur une table précise, à une date précise.

    Nous avons tout d'abord réalisé le site web qui est le support de notre projet. L'inscription d'un utilisateur a été réussi.

    Cependant, nous sommes rendu à faire la partie "Réservation". Nous avons réalisé un formulaire avec "date", "heure", "Lettre de table", "Numéro de place". Le formulaire est opérationnel. Cependant nous avons un problème avec la création d'une ligne comportant la réservation, lorsque nous remplissons le formulaire.

    Nous avons créé une page reservation.php qui renvoie vers une page reservation_traitement, qui fait appel à une class Reservation

    Nous travaillons sur Koding et Phpmyadmin.

    Voici les codes :

    Formulaire de reservation.php ->

    Code PHP:
    <div id="champs">
                <
    form method="post" action="reservation_traitement.php">
                <
    p>
                     
                    <
    label for="date"></label> <!--case date-->
                    <
    input type="date" name="date" class="ecriture" id="date" placeholder="Date" size="35" maxlenght="100" /> <!--pseudo à l'intérieur de la case-->
                <br>
                 
                    <label for="time"></label>    <!--case heure->
                    <input type="time" name="time" class="ecriture" id="time" placeholder="Heure" size="35" maxlength="100" min="12:00" max="13:30" step="1800"/><!--mot de passe avec points et à l'
    intérieur de la case-->
                <
    br>
                     
                    <
    label for="letter"></label>    <!--case du numéro de la table-->
                    <
    input type="text" name="letter" class="ecriture" id="letter" placeholder="Lettre de la table" size="35" maxlength="1" /><!--mot de passe avec points et à l'intérieur de la case-->
                <br>
                 
                    <label for="number"></label>    <!--case du numéro de la place-->
                    <input type="number" name="number" class="ecriture" id="number" placeholder="N° de la table" size="35" maxlength="100" min="1" max="8"/><!--mot de passe avec points et à l'
    intérieur de la case-->
                 
                </
    p>
                
                <
    p>
                    <
    input type="submit" name="envoyer" value="Envoyer" class="boutons">
                </
    p>  <!--bouton envoyer-->
             
                 </
    form>
                 
             
            </
    div
    La class Reservation ->

    Code PHP:
    <?php
     
    class Reservation {
         
        public 
    $reservation_date;
        public 
    $reservation_table;
        public 
    $reservation_place;
        public 
    $reservation_heure;
         
         
        public function 
    inserer() {
     
        
    $connection = new PDO('mysql:dbname=easycafet;host=127.0.0.1''root''azerty');
         
        
    $connection->exec("INSERT INTO easycafet (reservation_table, reservation_date, reservation_place, reservation_heure)
        VALUES ('" 
    $this->reservation_table "','" $this->reservation_date "','" $this ->reservation_place "','" $this->reservation_heure "')");
        }  
    }
     
     
     
     
    ?>
    Et enfin reservation_traitement.php ->

    Code PHP:
    <?php
         
         
    require 'Reservation.php'//Appel du fichier contenant la class Reservation
    $reservation= new Reservation();   
     
    $reservation->reservation_date $_POST['date'];
    $reservation->reservation_heure $_POST['time'];
    $reservation->reservation_table $_POST['letter'];
    $reservation->reservation_place $_POST['number'];
     
     
     
    $reservation->inserer();
    header('location:reservation.php');
     
     
    ?>
    Voici un screen de notre base de données.

    Nom : php my admin.jpg
Affichages : 1748
Taille : 386,2 Ko

    Merci d'avance et nous sommes à votre écoute !

    -----

  2. #2
    cherbe

    Re : PHP - Site de réservation

    Bonjour
    Une première remarque identique à celle que je viens de faire dans un autre post :
    ne jamais nommer une variable, une routine ou un objet html avec un mot-clé du langage de programmation
    Ceci ne pose peut-être pas de problème mais c'est une très mauvaise habitude à perdre immédiatement :
    <input type="time" name="time"
    Applique-toi une règle consistant à utiliser des mots en français sans homonyme Anglais !

    Dans la class reservation, je ne comprends pas cette insertion dans la BDD :
    Code:
    $connection->exec("INSERT INTO easycafet (reservation_table, reservation_date, reservation_place, reservation_heure)
        VALUES ('" . $this->reservation_table . "','" . $this->reservation_date . "','" . $this ->reservation_place . "','" . $this->reservation_heure . "')");
    Pourquoi mettre ceci : reservation_table . "','"
    ?????????????????

  3. #3
    fregoli

    Re : PHP - Site de réservation

    Je comprends que c'est pour obtenir la chaine de caractère, par exemple :

    "INSERT INTO easycafet (reservation_table, reservation_date, reservation_place, reservation_heure)
    VALUES ('totoReser' ,'2016/10/25','moi','20:30')"

    ce qui me semble correct ...

    Mais quel est le problème rencontré
    Une allumette peut aussi faire déborder le vase...

  4. #4
    fregoli

    Re : PHP - Site de réservation

    Il n'y aurait pas un problème avec l'entier utilisé pour la place?

    Enlerver les "'" autour de la place ? pour obtenir la chaine de caractères suivante:

    "INSERT INTO easycafet (reservation_table, reservation_date, reservation_place, reservation_heure) VALUES ('TOTO','2016/12/24',123,'20:30')";

    soit mettre plutôt :

    "INSERT INTO easycafet (reservation_table, reservation_date, reservation_place, reservation_heure)
    VALUES ('" . $this->reservation_table . "','" . $this->reservation_date . "'," . $this ->reservation_place . ",'" . $this->reservation_heure . "')");
    Dernière modification par fregoli ; 09/05/2016 à 13h31.
    Une allumette peut aussi faire déborder le vase...

  5. A voir en vidéo sur Futura
  6. #5
    fregoli

    Re : PHP - Site de réservation

    Un petit conseil: Pour debugger, ce que je fais, c'est faire générer le tout dans une chaine de caractère que je fais apparaître dans une zone de l'interface HTML (une div ou autre) et j'essaye directement la requète par copier-coller dans l'interface phpMyAdmin si je ne vois pas le problème de manière évidente.
    Une allumette peut aussi faire déborder le vase...

  7. #6
    fregoli

    Re : PHP - Site de réservation

    Autres choses pour améliorer:
    • si les gens peuvent réserver une table, il faut prévoir de dire que la table est déjà réservée, donc prévoir une durée de repas (heure de réservation + 1:30 ?? à décider ... ) attention aux blocage après (ex: je veux la table 2 à 20:00, mais à 20:15 elle est déjà réservée)
    • et aussi peut-être un plan de la salle (ce serait plus cool de cliquer sur une table dans un plan au lieu de donner un n°), indiquer pour l'heure désirée les tables libres (plan interactif avec tables en couleur en fonction du temps de blocage (rouge 1:30, Orange 1:00, Bleu 0:30, Vert libre à l'heure désirée et pendant 1:30, Jaune: réservée 0:30 après l'heure que je veux,...)
    Une allumette peut aussi faire déborder le vase...

Discussions similaires

  1. Reservation evacuation
    Par guyban dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 02/05/2016, 22h43
  2. Reservation pour chape
    Par invite3e29d349 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 7
    Dernier message: 31/01/2011, 15h17
  3. Appareil au lavo: Planning/réservation
    Par invite25824988 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/03/2010, 08h05
  4. chauffage au sol hydraulique: réservation de plancher
    Par invite512730ce dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 05/10/2009, 17h08
  5. Oubli de reservation sur chape...
    Par alcor84 dans le forum Bricolage et décoration
    Réponses: 7
    Dernier message: 10/04/2009, 14h17