Varibles d'un formulaire en cas d'erreurs

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 : Varibles d'un formulaire en cas d'erreurs

par JumBay » 18 févr. 2006, 15:41

Oui je sais bien qu'on peut faire tout ca d'ailleur je l'avais dit, mais je voulais savoir s'il y avait une methode plus rigoureuse que les autres.

Merci :wink:

par jojolapine » 17 févr. 2006, 18:04

Tu peux aussi utiliser des variables sessions:
exemple:
//fichier de test des champs
//Si la valeur saisie est correcte, alors
$_SESSION['mon_champ']=$_POST['mon_champ'];
//sinon
unset($_SESSION['mon_champ']);
//fichier du formulaire
//début du form
//...
<input type="text" name="mon_champ" <?php if (isset($_SESSION['mon_champ'])==TRUE){ echo "value=\"$_SESSION['mon_champ']\"";} ?>
//...
//fin du form
voila je sais pas si je me suis bien expliqué... (ou si j'ai fait des erreurs :oops: )...
sinon hésitez pas :D

par JumBay » 17 févr. 2006, 16:52

Oui mais $_POST['..'] me permet de recuperer mes variables dans la page ou je verifie le formulaire :
j'ai 2 pages php formulaire.php et verif_form.php

Dans formulaire.php il y a le formulaire
et dans verif_form.php il y a la verification des variables $_POST['..'];
Si je detecte une erreur je reviens sur ma page formulaire.php comme ceci :
header('Location: formulaire.php?error=1&champ1='.$_POST['champ1']...);
et dans mon fichier formulaire.php je recupere les valeurs des champs avec la methode $_GET['champ1']

Voila ce que je faisait avant

par charabia » 17 févr. 2006, 16:44

Au lieu de passer par la méthode URL (GET) fait le avec la méthode POST par le biais du formulaire. Pour récupérer la donnée, il te suffit d'utiliser $_POST['ton_champ'] ;)

Varibles d'un formulaire en cas d'erreurs

par JumBay » 17 févr. 2006, 16:15

Salut,

Je desire concevoir un fomulaire dans lequel beaucoup de texte sera entre par l'utilisateur.
Lorsque l'utilisateur valide son formulaire, une verification est faite au niveau des donnees (pas de champs vide, pas de scripts...).
En cas d'erreurs l'utilisateur est renvoye sur la page du formulaire en gardant les donnees correctes qu'il avait entre.

Ma question est, quel est le meilleur moyen pour recuperer la valeur des zones de textes deja entre ?
J'ai apercu sur le net 2 methodes :

1- on passe tout par l'url (c'est la methode que je faisais), mais ici il s'agit d'un formulaire pouvant avoir beaucoup de texte, et je me disais que passait un roman par l'url ce n'etait pas super non ?

2- on passe tout dans des sessions (j'ai vu ca mais ca me parait bizarre).

Quelle est la methode la plus correcte (si y en a d autres allez y) ?

Merci d'avance