quand je change de liste déroulante je perds tous

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : quand je change de liste déroulante je perds tous

par Hywan » 19 juil. 2007, 10:30

Il faut considérer Javascript comme un langage qui apporte du confort à l'utilisateur. Ie., le site doit être fonctionnel sans aucun problème sans Javascript. Comme l'on dit les autres, Javascript arrive en renfort pour une question d'ergonomie. Et tout le monde peut désactiver Javascript (j'ai pas trouvé meilleur anti-popup hehe). Sans oublier certains outils pour personnes handicapées qui ne supportent pas Javascript tout simplement.

par Genova » 19 juil. 2007, 09:51

J'ai l'impression que tu t'embrouilles pas mal. Javascript n'est absolument pas fiable, et est désactivable par le client. Par conséquent si tu veux être sur de l'intégrité d'un formulaire tu dois obligatoirement faire tes vérifications côté serveur. Les vérifications côté Javascript doivent uniquement être un plus ergnomique.

par akara » 19 juil. 2007, 09:48

je suis allé dans éditer mais j'ai rien vu pour effacer le sondage....

& pour les listes liées, ce n'est pas un problème...cela fonctionne correctement mais je perds mes valeurs des champs malgrès que je réinjecte les valeurs lors du rechargement qui est du au changement de liste A, mais lorsque j'ai choisis un élément de la liste A j'ai une deuxième liste qui apparait comme dans le FAQ, puis de cette deuxième liste je selectionne mes éléments qui vont être 'sauvegardés' dans un select multiple....puis je passe à ma liste déroulante B qui lorsque je sélectionne des éléments elles seront stockés dans un autre select multiple...voila jusqu'ici.. j'ai un bouton submit qui apelle à elle même la page puis réinjecte sur les selects multiples les éléments stockés MAIS LE PROBLEME c'est que quand je change d'éléments de la liste A ou que je fasse F5, les champs se vident ...
mais sur la liste A j'ai onchange="document.forms['chgcom'].submit();" & je comprend pas pourquoi il vide les champs malgrès les réinjections des valeurs....

par Cyrano » 18 juil. 2007, 19:27

Édite ton premier message pour ça.

Quant à ta question : je n'ai pas voté parce que la bonne réponse selon moi, c'est "Les deux". Une validation JavaScript se passant coté client uniquement sera plus rapide, ce qui est logique. La validation en PHP est obligatoire pour les raisons que tu as toi-même soulevées, donc elle reste obligatoire : l'intérêt malgré ça d'une validation en amont par JavaScript, c'est que lorsque le formulaire est soumis, les données sont déjà valides, donc ton PHP passe directement au traitement des données en "constatant" que tout est correct.

Pour tes listes déroulantes, regarde dans la FAQ, il y a un tuto triple sur le sujet des listes déroulantes liées. (triple parce que trois méthodes sont présentées)

par akara » 18 juil. 2007, 16:35

oué oué oué, nan mais parce qu'il y en a plein qui utilise du javascript et moi ça m'embrouille....
Pour la vérification des données saisies dans un formulaire tu as deux solutions principales :
du coté client :
le javascript : avantage tu ne fais pas appel au serveur HTTP donc c'est rapide
inconénient majeur : Si quelqu'un recupere la source html de ta page et retire les controles javascript cela fonctionnera , si la personne est vraiment malveillante elle peut aussi essayer des attaques "SQL injection".

Du coté serveur :
donc en php : avantage tu controleras toujours intégralement ce qui est saisi , si tes controles sont fait correctemment , 99,999..% des failles de sécurité sont ecartées.
inconvénients : quelquefois , si les formulaires sont volumineux tu peux avoir quelques ralentissement de temps de chargement ( et encotre c'est pas sur ) de toutes facon c'est le prix a payer de la securité.

Conclusion : si tu ne controle que les données saisie dans tes formulaires uniquement avec du javascript ..tôt ou tard ........ ou il faut vraiment que les données que tu recuperent ne servent a rien !!!

comment je fais pour effacer le sondage....

par Ryle » 18 juil. 2007, 16:35

Perso je fais les deux... en javascript pour le confort de l'utilisateur (réponse immédiate avant soumission du formulaire, évite les temps de chargement etc.) et en php pour la sécurité des données (puisqu'on ne doit jamais faire confiance à ce qui est envoyé par un utilisateur) comme le conseil Sékiltoyai :)

par Sékiltoyai » 18 juil. 2007, 16:30

C'est quoi ce sondage. Une vérification de formulaire se fait en PHP, jamais en javascript, car dans tous les cas, même s'il y a une vérification en javscript, il en faut une ensuite en php...

quand je change de liste déroulante je perds tous

par akara » 18 juil. 2007, 15:56

Bonjour,
vous doutez bien qu'avec les listes déroulantes il y a un formulaire
avec des cases à cocher , des champs a remplir et tout çà...

le probleme c'est que eux je les recharge avec isset($toto) echo $toto nanana...
mais quand je change de liste déroulante je perds toutes mes valeurs saisies dans mes champs...
et en fait je n'ai qu'une liste déroulante qui a onchange="document.forms['chgcom'].submit();"
et c'est cette liste déroulante qui vide tous les champs malgrès mes isset($toto) echo $toto nanana...
Comment faire ???