Bonjour,
j'ai un petit souci : dans un formulaire, j'ai des champs obligatoires et non obligatoires (champs textes, zone de liste,...)
Dont voici l'extrait pour les zones de liste :
Comme vous devez vous en douter, j'ai 3 zones de listes du meme type, avec le mois et l'année
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <SELECT name="Jour"> <OPTION value="jourvide" selected="selected"></OPTION> <? for($i=1;$i<=31;$i++){ echo "<OPTION value=\"<? $i ?>\">$i</OPTION>"; } ?> </SELECT>
Pour le récupérer et voir apparaitre le résultat, je fais ça :
Ceci est le bout de code où je fais apparaitre ce qu eje veux voir (c'est pour faire untest en fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 if (isset($_POST['test'])){ $erreurs=array(); if (empty($_POST['NomProjet'])) { $erreurs[] = 'Le champ <b>Nom du Projet</b> est vide'; }if ($_POST['Jour']=="jourvide") { $erreurs[] = 'Le champ <b>Jour</b> est vide'; }if ($_POST['Mois']=="moisvide") { $erreurs[] = 'Le champ <b>Mois</b> est vide'; }if ($_POST['Annee']=="anneevide") { $erreurs[] = 'Le champ <b>Annee</b> est vide'; }if (empty($_POST['Responsables'])) { $erreurs[] = 'Aucun <b>Responsable</b> n\'est sélectionné'; }if (empty($_POST['Participants'])) { $erreurs[] = 'Aucun <b>Participant</b> n\'est sélectionné'; } if (count($erreurs) > 0) { echo 'Les erreurs suivantes ont été rencontrées :'; echo '<ul>'; foreach ($erreurs as $e) { echo '<li>' . $e . '</li>'; } echo '</ul>'; } else { echo $_POST['NomProjet']; echo $_POST['Jour']; echo $_POST['Mois']; echo $_POST['Annee']; echo $_POST['Responsables'][0]; echo $_POST['Participants'][0];
Le truc est que NomProjet Responsables et Participants s'affichent bien, quand ils sont remplis, mais le jour et le mois ne s'affichent pas, et j'arrive pas a savoir pourquoi.
Juste pour indication, j'ai mis ça :
au lieu de ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ($_POST['Jour']=="jourvide") { $erreurs[] = 'Le champ <b>Jour</b> est vide'; }
car sinon le champ jour (vu qu'il est obligatoire) n'est pas pris en compte et il ne le voit pas vide pour la deuxième option, mais pour la première oui il le voit. Je pense que c'est parce qu ej'ai appelé le premier champ sélectionné "jourvide" et qu'il es tpas égal..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ($_POST['Jour']=="") { $erreurs[] = 'Le champ <b>Jour</b> est vide'; }
Bref, est-ce que quelqu'un aurait une idée du pourquoi que quan dje choisit un jour dans ma zone de liste, elle ne s'affiche pas et donc m'affiche rien ? j'ai oublié quelquechose dans mon code ?
Merci beaucoup pour votre aide par avance
Cordialement.
Partager