A voir également:
- [php]formulaire disabled
- Uac disabled - Guide
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
1 réponse
Salut,
Je ne suis pas convaincu que les navigateurs envoient les valeurs des formulaires disabled... Ca reste à tester.
Enfin, passons ce détail.
Comment actives-tu / désactives-tu les champs de ton formulaire ?
Est-ce par des javascripts, côté client donc ?
Si oui, tu n'as aucun moyen, dans ton script php qui suit, de savoir si le champ était ou non activé.
Je te conseille de contourner le problème en rajoutant des champs cachés à valeur booléenne, pour chaque champ que tu peux rendre disabled (<input type="hidden" name="isEnabled" value="0" ou "1" />), que tu mets à 0 si le champ correspondant est disabled, et à 1 sinon.
Comme ça, dans ton script php qui suit tu pourras utiliser cette valeur pour tes tests :
La mise à jour des champs cachés se fait bien sûr avec les javascripts qui rendent les champs disabled / enabled
D'un autre côté, si tu définis les champs disabled du côté du serveur (lors de la génération de la page contenant le formulaire), tu peux résoudre le problème de manière similaire, en associant directement la valeur des champs cachés lors de la génération de ta page, ou alors en passant ces valeurs en variable de session. Mais ce serait idiot de mettre en place des sessions juste pour ça si tu n'en as pas.
Bref, pour résumer ma solution : rajoute des champs hidden qui t'indiqueront si lechmp correspondant est disabled ou pas.
Cette solution ne marche hélas QUE SI les doutes que j'ai donnés en intro ne se vérifient pas. Dans le cas contraire, désolé mais je vois pas comment faire.
Bon courage,
Xavier
Je ne suis pas convaincu que les navigateurs envoient les valeurs des formulaires disabled... Ca reste à tester.
Enfin, passons ce détail.
Comment actives-tu / désactives-tu les champs de ton formulaire ?
Est-ce par des javascripts, côté client donc ?
Si oui, tu n'as aucun moyen, dans ton script php qui suit, de savoir si le champ était ou non activé.
Je te conseille de contourner le problème en rajoutant des champs cachés à valeur booléenne, pour chaque champ que tu peux rendre disabled (<input type="hidden" name="isEnabled" value="0" ou "1" />), que tu mets à 0 si le champ correspondant est disabled, et à 1 sinon.
Comme ça, dans ton script php qui suit tu pourras utiliser cette valeur pour tes tests :
if (!$_POST['isChamp1enabled']) $variable="20"; else $variable=$_POST['champ1'];
La mise à jour des champs cachés se fait bien sûr avec les javascripts qui rendent les champs disabled / enabled
D'un autre côté, si tu définis les champs disabled du côté du serveur (lors de la génération de la page contenant le formulaire), tu peux résoudre le problème de manière similaire, en associant directement la valeur des champs cachés lors de la génération de ta page, ou alors en passant ces valeurs en variable de session. Mais ce serait idiot de mettre en place des sessions juste pour ça si tu n'en as pas.
Bref, pour résumer ma solution : rajoute des champs hidden qui t'indiqueront si lechmp correspondant est disabled ou pas.
Cette solution ne marche hélas QUE SI les doutes que j'ai donnés en intro ne se vérifient pas. Dans le cas contraire, désolé mais je vois pas comment faire.
Bon courage,
Xavier