Je veux empêcher mon formulaire d'envoyer un formulaire vide
Résolu/Fermé
hononul
Messages postés
3
Date d'inscription
jeudi 13 avril 2017
Statut
Membre
Dernière intervention
14 avril 2017
-
Modifié le 13 avril 2017 à 13:03
hononul Messages postés 3 Date d'inscription jeudi 13 avril 2017 Statut Membre Dernière intervention 14 avril 2017 - 14 avril 2017 à 10:26
hononul Messages postés 3 Date d'inscription jeudi 13 avril 2017 Statut Membre Dernière intervention 14 avril 2017 - 14 avril 2017 à 10:26
A voir également:
- Je veux empêcher mon formulaire d'envoyer un formulaire vide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Le formulaire rempli - Guide
- Supprimer page word vide - Guide
- Formulaire g30 en ligne - Guide
3 réponses
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2025
4 740
Modifié le 13 avril 2017 à 14:11
Modifié le 13 avril 2017 à 14:11
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
hononul
Messages postés
3
Date d'inscription
jeudi 13 avril 2017
Statut
Membre
Dernière intervention
14 avril 2017
13 avril 2017 à 14:08
13 avril 2017 à 14:08
merci beaucoup
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2025
4 740
13 avril 2017 à 14:11
13 avril 2017 à 14:11
Si la question est résolue ... merci de cliquer sur le bouton "RESOLU" sous le titre de ta question.
hononul
Messages postés
3
Date d'inscription
jeudi 13 avril 2017
Statut
Membre
Dernière intervention
14 avril 2017
14 avril 2017 à 10:26
14 avril 2017 à 10:26
bonjour
j'aimerais que mon formulaire n'efface pas les champs déjà remplis si l'enregistrement n'a pas été envoyé dans la base. aidez moi svp
j'aimerais que mon formulaire n'efface pas les champs déjà remplis si l'enregistrement n'a pas été envoyé dans la base. aidez moi svp