Bonjour à tous,
Soit cet extrait de formulaire :
Puis un petit contrôle après validation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $nb_sites = 2; <input name="prenom"> <input name="nom"> for($i=0;$i<$nb_sites;$i++){ <input name="nom_site[]"> <input name="url_site[]"> } <input type="hidden" name="nb_sites" value="$nb_sites">
Puis affichage des erreurs :
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 $err = array(); if($_POST['prenom'] == ''){ $err['prenom'] = "manque prénom"; } if($_POST['nom'] == ''){ $err['nom'] = "manque nom"; } for($i=0;$i<$_POST['nb_sites'];$i++){ if($_POST['nom_site'][$i] == ''){ $err['nom_site'][$i] = "Manque nom site N° ($i+1)"; } if($_POST['url_site'][$i] == ''){ $err['url_site'][$i] = "Manque URL site N° ($i+1)"; } } return $err;
Les erreurs s'affichent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 foreach($err as $k => $v){ echo "<li style='color:#FF0000'><b>". $v . "</b></li>"; if(is_array($v)){ foreach($v as $k1 => $v1){ echo "<li style='color:#FF0000'><b>". $v1 . "</b></li>"; } } }
.manque prénom
.manque nom
.Array
.manque nom site N° 1
.Array
.manque URL site N ° 1
.Array
.manque nom site N° 2
.Array
.manque URL site N ° 2
La liste des erreurs est OK, mais comment ne pas afficher ce "Array" qui fait désordre ? Effectivement, si je fais un print_r($err) j'ai bien :
Ce qui est normal. Je veux juste ne pas afficher "Array" !
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 [prenom] => manque prénom [nom] => manque nom [nom_site] => Array ( [0] => manque nom site N° 1 [1] => manque nom site N° 2 ) [url_site] => Array ( [0] => manque URL site N° 1 [1] => manque URL site N° 2 )
Désolé d'avoir été un peu long, mais je voulais expliquer au mieux.
Merci d'avance du tuyau.
Partager