Reafficher son formulaire html si erreur apres controle

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 : Reafficher son formulaire html si erreur apres controle

Re: Reafficher son formulaire html si erreur apres controle

par AB » 30 mars 2011, 21:20

@moogli
Disons que c'est le plus simple mais pas forcément le plus efficace. Déjà parce que si tu utilise la touche arrière/avant du navigateur avec cette méthode, cela va te demander si tu veux re soumettre le formulaire... Donc il vaut mieux faire un reload de la page avant l'affichage du résultat pour éviter ça et du coup la seule méthode qui fonctionne dans tous les cas (même si le traitement est dans une autre page) est de mettre les données du post dans une variable de session.

Re: Reafficher son formulaire html si erreur apres controle

par moogli » 30 mars 2011, 20:39

salut,

la meilleur solution est de faire la validation du formulaire sur la même page que l'affichage du formulaire ainsi tu ne te tracasse pas pour le ré affichage ;)

par exemple
<?php
// validation du formulaire
// si ok $_POST=array(); // pour le "vider"
?>
le formulaire
<form action="" ...>
<input type="text" name="truc" <?php if (isset($_POST['truc'])) echo 'value="'.htmlentities($_POST['truc']).'"'; ?> />
idem pour tous les champs ;)
@+

Reafficher son formulaire html si erreur apres controle

par eugene » 30 mars 2011, 20:27

bonjour à tous!
je suis debutant en php.
1- j'ai ecrit mon formulaire avec html
2-je verifie les variables saisies avec un programme php
3- si'l y a des erreurs après verification par le programme php,
quelle est la meilleur methode ou fonction à utiliser pour reaficher le formulaire html à nouveau avec les variables pour que l'utilisateur les corrige.
j'ai trouvé "eclude" et "header" dans mes recherches; mails il semble que ce n'est pas la meilleure des methodes.
Merci pour votre reponse eclairée.