Petit problème de php
Résolu
shishi1906
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
shishi1906 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
shishi1906 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà j'ai un petit soucis.
J'ai 3 fichier php. Le premier sert à choisir le type de réservation que l'utilisateur veut faire.
Le second sert a rentré tous les champs. Et le troisième à insérer ces champs dans la base de données.
Le problème est que une fois que clique sur enregistrer, le troisième fichier me dit qu'un champs est vide alors que je les remplis tous. Est-ce que quelqu'un comprend pourquoi ?
mon premier fichier se nomme : saisiereservation.php
le second : saisiereservation2.php
et le dernier : ajoutreservation.php
voici les codes :
Premier fichier :
Second fichier :
Dernier fichier :
Merci d'avance
Voilà j'ai un petit soucis.
J'ai 3 fichier php. Le premier sert à choisir le type de réservation que l'utilisateur veut faire.
Le second sert a rentré tous les champs. Et le troisième à insérer ces champs dans la base de données.
Le problème est que une fois que clique sur enregistrer, le troisième fichier me dit qu'un champs est vide alors que je les remplis tous. Est-ce que quelqu'un comprend pourquoi ?
mon premier fichier se nomme : saisiereservation.php
le second : saisiereservation2.php
et le dernier : ajoutreservation.php
voici les codes :
Premier fichier :
<!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>Saisie d'un motif</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> </head> <body> <h2>Saisie d'une réservation</h2> Choix du type de réservation : <form method="post" action="saisiereservation2.php"> <?php // connexion à la base $base = mysql_connect ("localhost", "root", "") or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('csc_apli',$base) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "SELECT idtypeobjet, libelle FROM type_objet"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $result=mysql_query($sql); // on crée les boutons radio avec une boucle while while ($ligne=mysql_fetch_array($result)) { echo '<input checked="checked" name="bouton" type="radio" value="'.$ligne["idtypeobjet"].'"/>'.$ligne["libelle"].'<br />'; } echo '<input type="submit" value="Valider" />'; ?> </form> </body> </html>
Second fichier :
<!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>Saisie d'un motif</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> </head> <body> <h2>Saisie d'une réservation</h2> <form method="post" action="ajoutreservation.php"> Choix de la reservation : <select name="idobjet"> <option value="0">---------------</option> <?php // connexion à la base $base = mysql_connect ("localhost", "root", "") or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('csc_apli',$base) or die('Erreur de selection '.mysql_error()); $bouton=$_POST['bouton']; $sql2= "SELECT * FROM objet WHERE idtypeobjet=$bouton"; mysql_query($sql2) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $result2=mysql_query($sql2); while ($ligne=mysql_fetch_array($result2)) { echo '<OPTION VALUE="'.$ligne["IDOBJET"].'">'.$ligne["LIBELLE"].'</OPTION>'; } echo '<input type="submit" value="Valider" />'; if($bouton==2) { echo '<br /> Choix du type de motif : <select name="idtypemotif"> <option value="0">---------------</option>'; $sql3= "SELECT * FROM type_motif"; mysql_query($sql3) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $result3=mysql_query($sql3); while ($ligne=mysql_fetch_array($result3)) { echo '<OPTION VALUE="'.$ligne["IDTYPEMOTIF"].'">'.$ligne["LIBELLE"].'</OPTION>'; } echo '<input type="submit" value="Valider" />'; echo '<br /> Choix du motif : <select name="idmotif"> <option value="0">---------------</option>'; $sql4= "SELECT * FROM motif"; mysql_query($sql4) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $result4=mysql_query($sql4); while ($ligne=mysql_fetch_array($result4)) { echo '<OPTION VALUE="'.$ligne["IDMOTIF"].'">'.$ligne["LIBELLE"].'</OPTION>'; } echo '<input type="submit" value="Valider" />'; } ?> <br /> Jour : <select name="jour"> <option value="0">---------------</option> <option value="1"> 1</option> <option value="2"> 2</option> <option value="3"> 3</option> <option value="4"> 4</option> <option value="5"> 5</option> <option value="6"> 6</option> <option value="7"> 7</option> <option value="8"> 8</option> <option value="9"> 9</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> <br /> Moi : <select name="moi"> <option value="0">---------------</option> <option value="1"> Janvier</option> <option value="2"> Février</option> <option value="3"> Mars</option> <option value="4"> Avril</option> <option value="5"> Mai</option> <option value="6"> Juin</option> <option value="7">Juillet</option> <option value="8"> Août</option> <option value="9"> Septembre</option> <option value="10"> Octobre</option> <option value="11"> Novembre</option> <option value="12"> Décembre</option> </select> <br /> Année : <select name="annee"> <option value="0">---------------</option> <option value="1"> 2013</option> <option value="2"> 2014</option> <option value="3"> 2015</option> <option value="4"> 2016</option> <option value="5"> 2017</option> <option value="6"> 2018</option> <option value="7">2019</option> <option value="8"> 2020</option> <option value="9"> 2021</option> <option value="10"> 2022</option> <option value="11"> 2023</option> <option value="12"> 2024</option> </select> <br /> Heure Début : <select name="hd"> <option value="0">---------------</option> <option value="31">00:15</option> <option value="31">00:30</option> <option value="31">00:45</option> <option value="31">01:00</option> <option value="31">01:15</option> <option value="31">01:30</option> <option value="31">01:45</option> <option value="31">02:00</option> <option value="31">02:15</option> <option value="31">02:30</option> <option value="31">02:45</option> <option value="31">03:00</option> <option value="31">03:15</option> <option value="31">03:30</option> <option value="31">03:45</option> <option value="31">04:00</option> <option value="31">04:15</option> <option value="31">04:30</option> <option value="31">04:45</option> <option value="31">05:00</option> <option value="31">05:15</option> <option value="31">05:30</option> <option value="31">05:45</option> <option value="31">06:00</option> <option value="31">06:15</option> <option value="31">06:30</option> <option value="31">06:45</option> <option value="31">07:00</option> <option value="31">07:15</option> <option value="31">07:30</option> <option value="31">07:45</option> <option value="1"> 08:00</option> <option value="2"> 08:15</option> <option value="3"> 08:30</option> <option value="4"> 08:45</option> <option value="5"> 09:00</option> <option value="6"> 09:15</option> <option value="7"> 09:30</option> <option value="8"> 09:45</option> <option value="9"> 10:00</option> <option value="10">10:15</option> <option value="11">10:30</option> <option value="12">10:45</option> <option value="13">11:00</option> <option value="14">11:15</option> <option value="15">11:30</option> <option value="16">11:45</option> <option value="17">12:00</option> <option value="18">12:15</option> <option value="19">12:30</option> <option value="20">12:45</option> <option value="21">13:00</option> <option value="22">13:15</option> <option value="23">13:30</option> <option value="24">13:45</option> <option value="25">14:00</option> <option value="26">14:15</option> <option value="27">14:30</option> <option value="28">14:45</option> <option value="29">15:00</option> <option value="30">15:15</option> <option value="31">15:30</option> <option value="31">15:45</option> <option value="31">16:00</option> <option value="31">16:15</option> <option value="31">16:30</option> <option value="31">16:45</option> <option value="31">17:00</option> <option value="31">17:15</option> <option value="31">17:30</option> <option value="31">17:45</option> <option value="31">18:00</option> <option value="31">18:15</option> <option value="31">18:30</option> <option value="31">18:45</option> <option value="31">19:00</option> <option value="31">19:15</option> <option value="31">19:30</option> <option value="31">19:45</option> <option value="31">20:00</option> <option value="31">20:15</option> <option value="31">20:30</option> <option value="31">20:45</option> <option value="31">21:00</option> <option value="31">21:15</option> <option value="31">21:30</option> <option value="31">21:45</option> <option value="31">22:00</option> <option value="31">22:15</option> <option value="31">22:30</option> <option value="31">22:45</option> <option value="31">23:00</option> <option value="31">23:15</option> <option value="31">23:30</option> <option value="31">23:45</option> <option value="31">00:00</option> </select> <br /> Heure Fin : <select name="hf"> <option value="0">---------------</option> <option value="31">00:15</option> <option value="31">00:30</option> <option value="31">00:45</option> <option value="31">01:00</option> <option value="31">01:15</option> <option value="31">01:30</option> <option value="31">01:45</option> <option value="31">02:00</option> <option value="31">02:15</option> <option value="31">02:30</option> <option value="31">02:45</option> <option value="31">03:00</option> <option value="31">03:15</option> <option value="31">03:30</option> <option value="31">03:45</option> <option value="31">04:00</option> <option value="31">04:15</option> <option value="31">04:30</option> <option value="31">04:45</option> <option value="31">05:00</option> <option value="31">05:15</option> <option value="31">05:30</option> <option value="31">05:45</option> <option value="31">06:00</option> <option value="31">06:15</option> <option value="31">06:30</option> <option value="31">06:45</option> <option value="31">07:00</option> <option value="31">07:15</option> <option value="31">07:30</option> <option value="31">07:45</option> <option value="1"> 08:00</option> <option value="2"> 08:15</option> <option value="3"> 08:30</option> <option value="4"> 08:45</option> <option value="5"> 09:00</option> <option value="6"> 09:15</option> <option value="7"> 09:30</option> <option value="8"> 09:45</option> <option value="9"> 10:00</option> <option value="10">10:15</option> <option value="11">10:30</option> <option value="12">10:45</option> <option value="13">11:00</option> <option value="14">11:15</option> <option value="15">11:30</option> <option value="16">11:45</option> <option value="17">12:00</option> <option value="18">12:15</option> <option value="19">12:30</option> <option value="20">12:45</option> <option value="21">13:00</option> <option value="22">13:15</option> <option value="23">13:30</option> <option value="24">13:45</option> <option value="25">14:00</option> <option value="26">14:15</option> <option value="27">14:30</option> <option value="28">14:45</option> <option value="29">15:00</option> <option value="30">15:15</option> <option value="31">15:30</option> <option value="31">15:45</option> <option value="31">16:00</option> <option value="31">16:15</option> <option value="31">16:30</option> <option value="31">16:45</option> <option value="31">17:00</option> <option value="31">17:15</option> <option value="31">17:30</option> <option value="31">17:45</option> <option value="31">18:00</option> <option value="31">18:15</option> <option value="31">18:30</option> <option value="31">18:45</option> <option value="31">19:00</option> <option value="31">19:15</option> <option value="31">19:30</option> <option value="31">19:45</option> <option value="31">20:00</option> <option value="31">20:15</option> <option value="31">20:30</option> <option value="31">20:45</option> <option value="31">21:00</option> <option value="31">21:15</option> <option value="31">21:30</option> <option value="31">21:45</option> <option value="31">22:00</option> <option value="31">22:15</option> <option value="31">22:30</option> <option value="31">22:45</option> <option value="31">23:00</option> <option value="31">23:15</option> <option value="31">23:30</option> <option value="31">23:45</option> <option value="31">00:00</option> </select> <br /> Salarié : <select name="idsalarie"> <option value="0">---------------</option> <?php // Connexion à la base de donnée $cnx = mysql_connect("localhost", "root", "") or die("Impossible de se connecter"); // Selection de la base $db = mysql_select_db("csc_apli") or die("Impossible de se connecter"); // Selection dans la base type_motif $requete2="SELECT * FROM salarie ORDER BY nom ASC"; //Exécution de la requete $result2=mysql_query($requete2); //Selection de tous les champs while ($ligne=mysql_fetch_array($result2)) { echo '<OPTION VALUE="'.$ligne["idsalarie"].'">'.$ligne["NOM"].' '.$ligne["PRENOM"].'</OPTION>'; } ?> </select> <input type="submit" value="Enregistrer" /> </form> </body> </html>
Dernier fichier :
<!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>Enregistrement d'une reservation</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> </head> <body> <?php // On commence par récupérer les champs $idobjet=$_POST["idobjet"]; $idtypemotif=$_POST["idtypemotif"]; $idmotif=$_POST["idmotif"]; $jour=$_POST["jour"]; $moi=$_POST["moi"]; $annee=$_POST["annee"]; $hd=$_POST["hd"]; $hf=$_POST["hf"]; $idsalarie=$_POST["idsalarie"]; // On vérifie si le champs est vide if(empty($idobjet) or empty($idtypemotif) or empty($idmotif) or empty($jour) or empty($moi) or empty($annee) or empty($hd) or empty($hf) or empty($idsalarie)){ echo '<font color="red">Attention, aucun champ ne peut rester vide !!!</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else{ // connexion à la base $base = mysql_connect ("localhost", "root", "") or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('csc_apli',$base) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO reservation (IDRES, IDSALARIE, IDOBJET, IDMOTIF, DATERES, HEUREDEB, HEUREFIN) VALUE ('', '$idsalarie', '$idobjet', '$idmotif', '$annee/$moi/$jour', '$hd', '$hf')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; // on ferme la connexion mysql_close(); } ?> <br /> <!-- On fait un lien rapide pour retourner aux saisie.--> <a href="saisiereservation2.php">Retour</a> </body> </html>
Merci d'avance
A voir également:
- Petit problème de php
- Easy php - Télécharger - Divers Web & Internet
- Trier du plus petit au plus grand excel - Guide
- Petit 2 ✓ - Forum Windows
- Petit 3 ✓ - Forum Word
- Petit 9 - Forum Mail
12 réponses
Une fois la connexion à la BDD effectué, plus besoin de la refaire à chaque fichier php, tu rajoute juste
<?php
session_start();
?>
au début de ton code.
Pense aussi à un while pour tes selects, ton code sera plus clair.
Pourrais-tu nous mettre l'erreur que ça t'affiche ?
<?php
session_start();
?>
au début de ton code.
Pense aussi à un while pour tes selects, ton code sera plus clair.
Pourrais-tu nous mettre l'erreur que ça t'affiche ?
Voilà ce que ça m'affiche :
"Attention, aucun champ ne peut rester vide !!!
Retour"
Donc ça rentre dans mon premier if du troisième fichier Or j'ai rempli tous mes champs vià les listes déroulantes.
"Attention, aucun champ ne peut rester vide !!!
Retour"
Donc ça rentre dans mon premier if du troisième fichier Or j'ai rempli tous mes champs vià les listes déroulantes.
Bonjour
Ajoute <?php print_r($_POST); ?> au début de ton dernier fichier pour vérifier ce qu'il reçoit vraiment.
Et n'oublie pas qu'en PHP, 0 est 'empty' :
https://www.php.net/manual/fr/function.empty.php
Ajoute <?php print_r($_POST); ?> au début de ton dernier fichier pour vérifier ce qu'il reçoit vraiment.
Et n'oublie pas qu'en PHP, 0 est 'empty' :
https://www.php.net/manual/fr/function.empty.php
Voilà ce que me renvoi le fichier :
"Array ( [idobjet] => 3 [idtypemotif] => 1 [idmotif] => 1 [jour] => 3 [moi] => 3 [annee] => 3 [hd] => 31 [hf] => 31 [idsalarie] => ) Attention, aucun champ ne peut rester vide !!!
Retour"
Et oui, 'empty' est zéro mon If sert justement a éviter d'oublier un champ lors de la saisie.
"Array ( [idobjet] => 3 [idtypemotif] => 1 [idmotif] => 1 [jour] => 3 [moi] => 3 [annee] => 3 [hd] => 31 [hf] => 31 [idsalarie] => ) Attention, aucun champ ne peut rester vide !!!
Retour"
Et oui, 'empty' est zéro mon If sert justement a éviter d'oublier un champ lors de la saisie.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui j'ai compris, mais je ne comprend pas ! car je sélectionne bel et bien un salarié dans ma liste déroulante.
As-tu regardé le source généré dans ta deuxième page au niveau des options de ton <select name="idsalarie"> ? Je parie qu'elles ont toutes value="".
Le champ qui contient l'idsalarie s'appelle-t-il bien idsalarie en minuscules et non pas IDSALARIE par exemple ?
À propose de majuscules et de minuscules, puisque tu travailles en xhtml, toutes tes balises devraient être en minuscules : <option> et non pas <OPTION>.
Le champ qui contient l'idsalarie s'appelle-t-il bien idsalarie en minuscules et non pas IDSALARIE par exemple ?
À propose de majuscules et de minuscules, puisque tu travailles en xhtml, toutes tes balises devraient être en minuscules : <option> et non pas <OPTION>.
mes values contiennents les idsalarie de ma table
Tu l'as vérifié en regardant le HTML généré, ou tu le crois parce que tu penses avoir écrit ton script correctement ?
Et pourrais-tu répondre aussi à ma question sur le nom EXACT du champ idsalarie dans la base de données ?
Tu l'as vérifié en regardant le HTML généré, ou tu le crois parce que tu penses avoir écrit ton script correctement ?
Et pourrais-tu répondre aussi à ma question sur le nom EXACT du champ idsalarie dans la base de données ?
Je n'avais pas vérifier dans le HTML tu as raisons, mes values sont toutes à "" alors comment faire ?
Pour ce qui est du nom exact c'est: idsalarie
Pour ce qui est du nom exact c'est: idsalarie
J'insiste lourdement, mais comme tu as donné plusieurs fois des réponses inexactes : c'est bien idsalarie et pas IDSALARIE ?