Je veux empêcher mon formulaire d'envoyer un formulaire vide
Résolu
hononul
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
hononul Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
hononul Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Je veux empêcher mon formulaire d'envoyer un formulaire vide
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Supprimer page word vide - Guide
- Un formulaire rempli - Guide
3 réponses
Bonjour,
Déjà .. on place le code de connexion à la bdd dans un fichier à part
qu'on aura qu'à inclure dans les pages où on en a besoin
Ensuite on place le code PHP AVANT le HTML en général .. cela rend la maintenance du code plus facile.
On pense aussi à utiliser des boucles pour créer les SELECT ... pour éviter d'écrire 50 lignes ...
Par exemple :
peut être remplacé par :
Je te laisse faire pareil pour les années....
Cordialement,
Jordane
Déjà .. on place le code de connexion à la bdd dans un fichier à part
qu'on aura qu'à inclure dans les pages où on en a besoin
<?php //fichier de connexion à la bdd : cnxBdd.php try{ $bdd = new PDO('mysql:host=localhost;dbname=gestionjoueurs', 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(Exception $e){ die('Erreur : '.$e->getMessage()); } ?>
Ensuite on place le code PHP AVANT le HTML en général .. cela rend la maintenance du code plus facile.
On pense aussi à utiliser des boucles pour créer les SELECT ... pour éviter d'écrire 50 lignes ...
Par exemple :
<select name="jour"> <option value="00">jour</option> <option value="01">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>
peut être remplacé par :
<select name="jour"> <option value="00">jour</option> <?php for($i=1;$i<=31;$i++){ $value = $i<10 ? "0".$i : $i ; echo "<option value='$value'>$value</option>"; } ?> </select>
Je te laisse faire pareil pour les années....
<?php //Activation des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //connexion à la bdd require_once "cnxBdd.php"; //traitement du submit // 1 - recuperation PROPRE des variables AVANT de les utiliser $nom = !empty($_POST['nom']) ? $_POST['nom'] : NULL; $prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL; $age = !empty($_POST['age']) ? $_POST['age'] : NULL; $jour = !empty($_POST['jour']) ? $_POST['jour'] : NULL; $mois = !empty($_POST['mois']) ? $_POST['mois'] : NULL; $annee = !empty($_POST['annee']) ? $_POST['annee'] : NULL; $courtebiographie = !empty($_POST['courtebiographie']) ? $_POST['courtebiographie'] : NULL; $datedebutcarriere = $annee.'-'.$mois.'-'.$jour ; if( $nom && $prenom && $age && $jour && $mois && $annee && $courtebiographie ){ //insertion des données dans la BDD $datas = array('nom' => $nom, 'prenom' => $prenom, 'age' => $age, 'datedebutcarriere' => $datedebutcarriere, 'courtebiographie' => $courtebiographie); $sql = 'INSERT INTO joueur (nom,prenom,age,datedebutcarriere,courtebiographie) VALUES(:nom, :prenom, :age, :datedebutcarriere, :courtebiographie)'; //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } // fin du IF //récupération de la liste des joueurs $sql = "SELECT * FROM joueur "; try{ $requete = $bdd -> prepare($sql) ; $requete->execute(); $resultat = $requete->fetchAll(); // on stocke le resultat de la requete dans un array }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } //moyenne d'age des joueurs $requete = $bdd->query("SELECT AVG(age) AS age_moyen FROM joueur"); $row = $requete->fetch(PDO::FETCH_ASSOC); $ageMoy = !empty($row) ? $row['age_moyen'] : 0; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset="utf-8"/> <title> Formulaire </title> </head> <body > <form method="post" action="index.php"> <table> <tr> <td><label name="nom">nom: </label></td> <td><input type="text" name="nom" id="nom"/> </td> </tr> <tr> <td><label name="prenom">prenom: </label></td> <td><input type="text" name="prenom"/></td> </tr> <tr> <td><label name="age">age:</label></td> <td><input type="text" name="age"></td> </tr> <tr> <td>date debut carriere </td> <td> <select name="jour"> <option value="00">jour</option> <?php for($i=1;$i<=31;$i++){ $value = $i<10 ? "0".$i : $i ; echo "<option value='$value'>$value</option>"; } ?> </select> </td> <td> <select name="mois"> <option value="00">mois</option> <option value="01">janvier</option> <option value="02">fevrier</option> <option value="03">mars</option> <option value="04">avril</option> <option value="05">mai</option> <option value="06">juin</option> <option value="07">juillet</option> <option value="08">aout</option> <option value="09">septembre</option> <option value="10">octobre</option> <option value="11">novembre</option> <option value="12">decembre</option> </select> </td> <td> <select name="annee"> <option value="0000">annee</option> <option value="1990">1990</option> <option value="1991">1991</option> <option value="1992">1992</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999">1999</option> <option value="2000">2000</option> <option value="2001">2001</option> </select> </td> </tr> <tr> <td><label name="courtebiographie">biographie: </label></td> <td><input type="text" name="courtebiographie"/></td> </tr> </br> <tr> <td> <input name="valider" type="submit" value="Enregistrer"/> <input type="reset" name="annuler" value="Annuler" /> </td> </tr> </table> <!-- <a href="listejoueurs.php" rel="nofollow noopener noreferrer" target="_blank">afficher la liste des joueurs</a> </br> --> <!--<a href="moyenne.php" rel="nofollow noopener noreferrer" target="_blank">moyenne des ages</a> --> </form> <table border="1px" width="50%" align="center"> <thead> <tr> <th colspan="8">liste des joueurs </th> </tr> </thead> <tbody> <tr> <td> id</td> <td> nom</td> <td> prenom</td> <td> age</td> <td> datedebutcarriere</td> <td> biographie</td> <td colspan="2" >modification et suppression</td> </tr> <tr></tr> <tr></tr> <tr></tr> <?php if(!empty($resultat)){ foreach($resultat as $rst){ $id= $rst["id"]; $nom= $rst["nom"]; $prenom= $rst["prenom"]; $age= $rst["age"]; $datedebutcarriere= $rst["datedebutcarriere"]; $courtebiographie= $rst["courtebiographie"]; echo '<tr> <td>'.$id.'</td> <td>'.$nom.'</td> <td>'.$prenom.'</td> <td>'.$age.'</td> <td>'.$datedebutcarriere.'</td> <td>'.$courtebiographie.'</td> <td><a href="modifierjoueurs.php?id='.$id.'" rel="nofollow noopener noreferrer" target="_blank" title="modifier cette ligne">modifier</a></td> <td><a href="supprimerjoueurs.php?id='.$id.'" rel="nofollow noopener noreferrer" target="_blank" title="supprimer cette ligne">supprimer</a></td> </tr>'; } } echo 'La moyenne des âge des joueurs est:'.$ageMoy; ?> </tbody> </table> </body> </html>
Cordialement,
Jordane