Bonjour,
Voici mon souci. J'ai une page qui contient une dizaine de formulaire tous construit sur le même schéma dans une boucle foreach(). Pour chaque groupe de cheval, il y a donc un formulaire et pour chaque cheval du groupe il y a une ligne dans le formulaire qui répertorie tout ses attributs avec des boutons, des checkbox etc... Lorsque je valide un formulaire, je fais appel à mon contrôleur qui vérifie la cohérence de la saisie puis retourne les messages d'erreur ou exécute l'action souhaiter. Le problème c'est que en cas d'erreur tout mes cases sont décochées, mes champs de saisie vidés... Je voudrais donc utiliser $_REQUEST pour récupérer l'ancienne saisie mais chaque champs n'est pas unique je ne sais pas comment réaffecter chaque valeurs au bon formulaire et à la bonne ligne??
Voici une extrait de la construction de mon formulaire:
Vous l'aurez compris, si chaque champs était repéré par un identifiant unique tout cela serait plus simple. Du genre l'id du cheval dont on a sélectionné le père, l'id du cheval sont on a sélectionné la race, le sexe... Sachant que je ne peut ni modifier les name ni les value
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <?PHP for($i=0;$i<$nombreDoublonPageCourante;$i++){?> <?PHP $chevaux=dsdeboub_chargerChevaux($doublons[$i]); ?> <form name="form" method="post" action="<?PHP print(entities($_SERVER['PHP_SELF'])); ?>"> <table> <caption><?PHP print(entities('#'.($i+1)));?></caption> <tr> <th>X*</th> <th>ID*</th> <th>Race de naissance*</th> <th>Mere*</th> <th>Pere*</th> <th>Sexe*</th> </tr> <?PHP foreach($chevaux as $cheval){ ?> <tr> <td> <input type=checkbox name="id_chevaux_selectionnes[]" value="<?PHP print($cheval['id']);?>"> </td> <td> <input type=radio name="id" value="<?PHP print($cheval['id']);?>"> <?PHP print("#".$cheval['id']);?> </td> <td> <input type=radio name="race_naissance" value="<?PHP print($cheval['id_race_naissance']);?>"> <?PHP if($cheval['race_naissance']){print($cheval['race_naissance']);}else{print("--");}?> </td> <td> <input type=radio name="mere" value="<?PHP print($cheval['id_cheval_mere']);?>"> <?PHP if($cheval['mere']){print($cheval['mere']);}else{print("--");}?> </td> <td> <input type=radio name="pere" value="<?PHP print($cheval['id_cheval_pere']);?>"> <?PHP if($cheval['pere']){print($cheval['pere']);}else{print("--");}?> </td> <td> <input type=radio name="sexe" value="<?PHP print($cheval['id_sexe']);?>"> <?PHP if($cheval['sexe']){print($cheval['sexe']);}else{print("--");}?> </td> </tr><?PHP }?> /* Bouttons d'action */ <tr> <td class="action" colspan="3"> <input rel="dedoub_fusionner" name="fusionner" type="submit" value="Fusionner"/> </td> <td class="action" colspan="20"> <input rel="dedoub_voirFiche" name="voirFiche" type="submit" value="Voir la fiche"/> </td> </tr> </table> <p> <input name="action" type="hidden" value=""/> </p> </form> <br/> <?PHP } ?>![]()
Partager