Script php

Résolu
Bonjour,
J'ai un soucis avec mon script php :

J'ai une base de données dans mysql qui a une table client et une table reservation. De plus j'ai créer un formulaire de reservation pour que le client qui veut réserver saisisse ses données.. A coté de ça il y a le script php qui récupère les données et met à jour la base de données. Le problème c'est qu'il ne se passe rien du tout.

Le script php est le suivant :

<?php
include("connect.php");

//requête Numcli maximum dans la table client
$requete3="SELECT MAX(Numcli) FROM client";
$result3=mysql_query($requete3);
$Numcli=$result3;
//auto incrément
$Numcli2=$Numcli+1;
echo$Numcli2;

//requête NoRes maximum dans la table reservation
$requete4="SELECT MAX(NoRes) FROM reservation";
$result4=mysql_query($requete4);
$NoRes=$result4;
//auto incrément
$NoRes2=$NoRes+1;
echo"$NoRes2";

//variables
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];
$codepostal=$_POST['codepostal'];
$ville=$_POST['ville'];
$telephone=$_POST['telephone'];
$email=$_POST['email'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];

//Pour afficher les résultats
echo$Numcli2;
echo$nom;
echo$prenom;
echo$adresse;
echo$codepostal;
echo$ville;
echo$telephone;
echo$email;
echo$NoRes2;
echo$DateResDeb;
echo$DateResFin;
echo$NoGite;

//requête de mise à jour de la table client
$requete="INSERT INTO client(Numcli,Nomcli,Prenomcli,Adressecli,CPcli,Villecli,Telcli,Mailcli)
VALUES ('$Numcli2','$nom','$prenom','$adresse','$codepostal','$ville','$telephone','$email')";
$result=mysql_query($requete);
echo$result;

//requête de mise à jour e la table reservation
$requete2="INSERT INTO reservation(NoRes,DateResDeb,DateResFin,NoGite)
VALUES ('$NoRes2','$DateResDeb','$DateResFin','$NoGite')";
$result2=mysql_query($requete2);
echo$result2;

?>

Voila. Je ne sais pas s'il y a des erreurs mais on ne m'affiche aucune erreurs et la base de données ne se met pas à jour.

Je voulais aussi savoir s'il y avait des erreurs pour l'auto incrémentation.

C'est urgent..

Merci beaucoup

15 réponses

  1. ben, qu'affichent le script?

    (il y a des echos de partout, donc ça devrait afficher des trucs, non?)
    1. justement ça n'affiche rien :/
      1. Commence par mettre un
        error_reporting(E_ALL);


        tout au début de ton code, pour voir les messages d'avertissement.
    2. tu n'as pas de .htacess (ou autre) qui cache tes erreurs ?

      parce que là ça ressemble beaucoup à une gestion de formulaire inexistant :/
      1. bonne remarque... "bien sûr", tu as un formulaire qui indique dans la méthode l'url de ton script...?
      2. le formulaire existe c'est reservation.htm et le script c'est reservation.php
        dans le formulaire j'ai bien écris <form method="POST" action="reservation.php">

        après le .htacess je ne sais ce que c'est...
        C'est pour mon projet pour le bac ... je suis perdu :/
      3. donne le code de ton script "reservation.htm" stp :)

        (dans une réponse à part)
      4. @vittirivizzik : je ne vais pas te faire ton devoir a ta place. mais utilise mes réponses pour t'aider à avancer. la première chose à faire, c'est d'activer l'affichage des warnings et erreurs avec la commande
        error_reporting(E_ALL);
        à placer en début de script.

        En général, quand "rien ne se passe", c'est que c'est une grosse boulette, facile à corriger.

        Autre conseil: dans ton script, ajoute un
        echo "Affichage des resultats:";
        juste après
        //Pour afficher les résultats 
        , ça te permettra de vérifier que ton script s'est exécuté.
      5. J'ai essayé mais toujours rien :/
    3. <html>
      <head>
      <title>Fomrulaire de Réservation</title>
      </head>

      <body bgcolor="#006666" >
      <p><font font-style="bold" color="#FFFFFF"><h1>Réservation</font></p>

      <form method="POST" action="reservation.php">

      <p><h6><font color="#FFFFFF">Nom * : <INPUT TYPE="TEXT" NAME="nom" SIZE="20" MAXLENGTH="30"><br>
      Prénom * : <INPUT TYPE="TEXT" NAME="prenom" SIZE="20" MAXLENGTH="30"><br>
      Adresse * : <INPUT TYPE="TEXT" NAME="adresse" SIZE="20"><br>
      Code postale * : <INPUT TYPE="TEXT" NAME="codepostal" SIZE="20" MAXLENGTH="5"><br>
      Ville * : <INPUT TYPE="TEXT" NAME="ville" SIZE="20" MAXLENGTH="30"><br>
      Téléphone * : <INPUT TYPE="TEXT" NAME="telephone" SIZE="20" MAXLENGTH="10"><br>
      E-mail * : <INPUT TYPE="TEXT" NAME="email" SIZE="20" MAXLENGTH="30"><br>
      Numéro de gîte * :<INPUT TYPE="TEXT" NAME="NoGite" SIZE="1" MAXLENGTH="1"><br>

      <p><h5>Date de réservation début * : <select name="DateResDeb">
      <OPTION value="01" selected>01</option>
      <OPTION value="02">02</option>
      <OPTION value="03">03</option>
      <OPTION value="04">04</option>
      <OPTION value="05">05</option>
      <OPTION value="06">06</option>
      <OPTION value="07">07</option>
      <OPTION value="08">08</option>
      <OPTION value="09">09</option>
      <OPTION value="10">10</option>
      <OPTION value="11">11</option>
      <OPTION value="12">12</option>
      <OPTION value="13">13</option>
      <OPTION value="14">14</option>
      <OPTION value="15">15</option>
      <OPTION value="16">16</option>
      <OPTION value="17">17</option>
      <OPTION value="18">18</option>
      <OPTION value="19">19</option>
      <OPTION value="20">20</option>
      <OPTION value="21">21</option>
      <OPTION value="22">22</option>
      <OPTION value="23">23</option>
      <OPTION value="24">24</option>
      <OPTION value="25">25</option>
      <OPTION value="26">26</option>
      <OPTION value="27">27</option>
      <OPTION value="28">28</option>
      <OPTION value="29">29</option>
      <OPTION value="30">30</option>
      <OPTION value="31">31</option>
      </SELECT>

      <select name="DateResDeb">
      <OPTION value="Janvier">Janvier</option>
      <OPTION value="Fevrier">Février</option>
      <OPTION value="Mars">Mars</option>
      <OPTION value="Avril">Avril</option>
      <OPTION value="Mai">Mai</option>
      <OPTION value="Juin">Juin</option>
      <OPTION value="Juillet">Juillet</option>
      <OPTION value="Aout">Août</option>
      <OPTION value="Septembre">Septembre</option>
      <OPTION value="Octobre">Octobre</option>
      <OPTION value="Novembre">Novembre</option>
      <OPTION value="Decembre">Décembre</option>
      </SELECT>

      <select name="DateResDeb">
      <OPTION value="2011">2011</option>
      <OPTION value="2012">2012</option>
      </SELECT>

      <p><h5>Date de réservation fin * : <select name="DateResFin">
      <OPTION value="01" selected>01</option>
      <OPTION value="02">02</option>
      <OPTION value="03">03</option>
      <OPTION value="04">04</option>
      <OPTION value="05">05</option>
      <OPTION value="06">06</option>
      <OPTION value="07">07</option>
      <OPTION value="08">08</option>
      <OPTION value="09">09</option>
      <OPTION value="10">10</option>
      <OPTION value="11">11</option>
      <OPTION value="12">12</option>
      <OPTION value="13">13</option>
      <OPTION value="14">14</option>
      <OPTION value="15">15</option>
      <OPTION value="16">16</option>
      <OPTION value="17">17</option>
      <OPTION value="18">18</option>
      <OPTION value="19">19</option>
      <OPTION value="20">20</option>
      <OPTION value="21">21</option>
      <OPTION value="22">22</option>
      <OPTION value="23">23</option>
      <OPTION value="24">24</option>
      <OPTION value="25">25</option>
      <OPTION value="26">26</option>
      <OPTION value="27">27</option>
      <OPTION value="28">28</option>
      <OPTION value="29">29</option>
      <OPTION value="30">30</option>
      <OPTION value="31">31</option>
      </SELECT>

      <select name="DateResFin">
      <OPTION value="Janvier">Janvier</option>
      <OPTION value="Fevrier">Février</option>
      <OPTION value="Mars">Mars</option>
      <OPTION value="Avril">Avril</option>
      <OPTION value="Mai">Mai</option>
      <OPTION value="Juin">Juin</option>
      <OPTION value="Juillet">Juillet</option>
      <OPTION value="Aout">Août</option>
      <OPTION value="Septembre">Septembre</option>
      <OPTION value="Octobre">Octobre</option>
      <OPTION value="Novembre">Novembre</option>
      <OPTION value="Decembre">Décembre</option>
      </SELECT>

      <select name="DateResFin">
      <OPTION value="2011">2011</option>
      <OPTION value="2012">2012</option>
      </SELECT><br><br>

      Nombre d'adultes * : <INPUT TYPE="TEXT" NAME="nbadultes" SIZE="20" MAXLENGTH="20"><br>
      Nombre d'enfants * : <INPUT TYPE="TEXT" NAME="nbenfants" SIZE="20" MAXLENGTH="20"><br>
      <br>
      Message : <textarea rows="6" name="message" cols="20"></textarea>
      <p> * Champs obligatoires </p>

      <input type="submit" value="VALIDER">
      <input type="reset" value="EFFACER"></font>
      </form>

      </body>

      </html>
      1. est-ce qu'il se peut que ça soit un problème de connexion ??

        <?php
        $host="localhost";
        $user="root";
        $pass="";
        $bdd="gitesdujura";
        //connexion
        @myqsql_connect($host,$user,$pass)
        or die("connection au serveur impossible!");
        @mysql_select_db("$bdd")
        or die("impossible de se connecter à la base de données");
        ?>
        1. ça se pourrait. Enlève les '@' devant les lignes de commande: il empêche les messages d'erreur/avertissement de s'afficher. Ceci dit, tu devrais alors voir le texte inscrit dans
          die()
          s'afficher.

          Note: la question est marquée "résolue", c'était quoi ??
        2. J'ai réussi enfin a mettre à jour la base de données mais j'ai un autre souci maintenant :$ :
          dans le formulaire, les dates de d"but et de fin de réservation sont a saisir via des listes déroulantes pour jour, mois et annee. Le problème c'est que je n'arrive pas à les réunir en une variable pour ensuite l'inserer dans la base de données ..Dans la bdd, la date est sous la forme aaaa-mm-jj.

          Pouvez-vous m'aider ?
      2. question bête, tu utilise bien un serveur local pour tes fichiers hein ?

        (les fichiers sont bien mis dans le répertoire www et tu y accède depuis l'adressse localhost/fichier )
        1. Vous ne voyez pas où est le pb ??
          1. non, par contre, il y a une faille de sécurité dans ton formulaire.

            quelqu'un pourrait sans problème insérer une valeur autre que celle que tu attend si tu ne vérifie pas les données.
        2. d'accords mais bon ça ne marche pas alors ça ne risque pas d'arriver .. :/ .
          Merci quand même et faites-moi signe si vous trouvez une solution svp