Bonjour,

Je me retrouve avec l'erreur suivante à l'envoi du formulaire :
Notice: Undefined index: niveau in [mon chemin]/Ajouter.php on line 478
La ligne 478 en question, pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$this->traiterDiplomeSuperieur($objEtudiant, intval($_POST['dernDipl']['id']), intval($_POST['dernDipl']['type']), 3,
					intval($_POST['dernDipl']['niveau']), trim($_POST['dernDipl']['nom']), intval($_POST['dernDipl']['annee']),
					intval($_POST['dernDipl']['idVille']), intval($_POST['dernDipl']['mention']));
Un coup d'oeil au formulaire dans le navigateur :
Code HTML : 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
<select id="dernDipl[niveau]" name="dernDipl[niveau]" class="hidden selectLong">
											<option value="">
							I - Sans niveau ou niveau inconnu						</option>
											<option value="">
							1 - Niveau I (3ème cycle, supérieur à maîtrise)						</option>
											<option value="">
							2 - Niveau II (licence ou maîtrise)						</option>
											<option value="">
							3 - Niveau III (DUT, BTS, 1er cycle de l'ens.sup.)						</option>
											<option value="">
							4 - Niveau IV (BP, BT, bac, bac pro, bac techno)						</option>
											<option value="">
							5 - Niveau V (BEP, CAP, 1er degré CFPA, Diplôme national des brevets)						</option>
											<option value="">
							0 - SANS DIPLOME						</option>
										</select>

Bon... je me dis que c'est peut-être parce le champ est "hidden" ?

Je print_r($_POST) et l'indice niveau est effectivement absent :
[dernDipl] => Array
(
[type] => 12
[nom] => Licence AES
[id] => 215
[annee] => 2018
[nomVille] => Inconnue
[idVille] =>
[mention] => 0
[estPlusHaut] => 1
)
Sauf que juste après, pour le plus haut diplôme, l'indice niveau est bien présent :
[plusHautDipl] => Array
(
[type] => 0
[niveau] =>
[nom] =>
[id] => 0
[annee] =>
[pays] => 0
[nomVille] =>
[idVille] => 0
[mention] => 0
)
Ainsi d'ailleurs que pour les deux autres rubriques de diplôme !

Pourtant, les 4 rubriques de diplôme supérieurs sont faits de la même manière. Exemple avec le niveau du plus haut diplôme :
Code HTML : 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
<select id="plusHautDipl[niveau]" name="plusHautDipl[niveau]" class="hidden selectLong">
											<option value="">
							I - Sans niveau ou niveau inconnu						</option>
											<option value="">
							1 - Niveau I (3ème cycle, supérieur à maîtrise)						</option>
											<option value="">
							2 - Niveau II (licence ou maîtrise)						</option>
											<option value="">
							3 - Niveau III (DUT, BTS, 1er cycle de l'ens.sup.)						</option>
											<option value="">
							4 - Niveau IV (BP, BT, bac, bac pro, bac techno)						</option>
											<option value="">
							5 - Niveau V (BEP, CAP, 1er degré CFPA, Diplôme national des brevets)						</option>
											<option value="">
							0 - SANS DIPLOME						</option>
										</select>

Je ne comprends pas pourquoi le niveau du dernier diplôme est absent et pas celui des autres diplômes !

La seule différence que je vois est que le dernier diplôme dans le formulaire est renseigné (donc la partie de $_POST est valorisée) et pas les autres.
Ceci expliquerait-il cela ?