Forum de discussion
Forum « Programmation Javascript » (archives)
Re: probleme affichage fenetre
Envoyé: 10 novembre 2003, 14h58 par Oznog
Seulement en Javascript tu va avoir quelques problèmes de compatibilité bien qu'étant faisable. Mais tu va surtout "valide" le tout en Javascript alors que le véritable "traitement" sera fait en PHP. Un cas d'exceptions ici.
Bref, l'idéale est une validation des type en Javascript, valider les date, nombres, string, reel etc. Et valider le contenu en PHP suivit de la confirmation.
Ça te fais alors 3 passages en PHP. Idéalement sur la même page PHP. Tu dois créer des champs caché pour garder l'état (saisie, validation ou transaction). Et garder TOUS les champs de façon caché lors de la validation).
1. En premier lieu tu test la présence de "$etat". S'il ne contient rien alors tu affiche le formulaire et le rempli avec les valeurs des champs cachés de la validation s'il y a lieu.
2. S'il contient "passe1" alors tu fait la validation PHP
3. S'il contient la valeur "passeFinale" tu fait la transaction avec la base de données.
En détait :
1. Tu a la saisie du formulaire avec la validation en temps réel Javascript. voir "twValide 2.2" (http://www.trucsweb.com/Javascript/trucs.asp?no=332&type=5). ET NE PAS OUBLIER DE LE REMPLIR AVEC LES DONNÉES CACHÉES DE LA VALIDATION. (ex: <input type="text" value="$champ1">)
2. L'usager soumet le formulaire avec le champ ETAT caché (<input type="hidden" name="etat" value="passe1" >).
3. Tu affiche les valeurs soumises par le formulaire et demande à l'usager de confirmer les données. ET TU MET CES VALEURS DANS DES CHAMPS CACHÉS. S'il confirme tu soumet cette réponse avec le champ ETAT caché (<input type="hidden" name="etat" value="passeFinale" >). Sinon tu soumet cette réponse avec le champ ETAT caché vide (<input type="hidden" name="etat" value="" >).
4. Si l'état est "passeFinale" tu fais la transaction finale dans la base de données.
C'est beaucoup de chose en même temps mais c'est la meilleurs, la plus stable et la plus courrante des solutions. Imagine un type qui désactive le Javascript et fait planter ta base de données. Si c'est mySQL elle peut même se corrompe pour une date invalide!
Ciao
Oznog
Réponses
|