verification de validité de formulaire

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 : verification de validité de formulaire

par donny » 04 juil. 2005, 10:53

c est pas mieux de faire un truc comme sa
avec un booleen parceque avec les if et elseif ,si le champ1 et champ2 sont vide, j aurai qu un seul message qui me dira le champ1 est vide.
if (isset($_POST['enregister']) ) { 
   $bool="false";
  if (empty($_POST['champ1']) { 
  echo "Le champ1 est vide";
  $bool="true";
  } 
  if (empty($_POST['champ2']) { 
  echo "Le champ2 est vide";
  $bool="true";
  } 
  if($bool=="false"){ 
  $sql="insert into table1......."; 
  $result=pg_query($sql); 
  .... 
  } 

par donny » 04 juil. 2005, 10:43

Quant tu as une erreur
tu l affiche directement sur la même page,
c est mieux ?

par donny » 04 juil. 2005, 10:36

je controle en php et le javascript c est juste pour afficher le message en cas d erreur.

Afficher le message d erreur avec un echo sur la meme page sa fait pas trop jolie.

par pjl » 04 juil. 2005, 10:00

en faite c est pour verfier certains champs avant l insertion, et comme certains champs doivent contenir un prix ou une durée de garantie, je voudrais eviter que la personne saississe des des lettres dans ces champs
pour la garantie, vu qu'il n'y a pas 36000 possibilités, je ferai une liste de choix.

Pour les contrôles, la partie en PHP est obligatoire avant tout travail sur les données.
Pour le contrôle en javascript, c'est une question de gout.

par donny » 04 juil. 2005, 09:56

si un champs est vide ou n est pas numerique ,
tu affiche cela sur le même formulaire donc;
Tu peux l afficher comme cela
if (isset($_POST['enregister']) ) { 
  
  if (empty($_POST['champ1']) { 
  echo "<script>alert('Le champs1 est vide');</script>";
  } 
  elseif (empty($_POST['champ2']) { 
  echo "<script>alert('Le champs2 est vide');</script>";
  } 
  else { 
  $sql="insert into table1.......";
  $result=pg_query($sql);
  ....
  } 
 
 

par donny » 30 juin 2005, 15:16

ok je vais essayer

par VaN » 30 juin 2005, 15:07

oué voila, ou carrement, pour eviter d'avoir 1000 pages si ton site devient gros, tu peux faire ça sur la meme page. C'est ce que je fais moi, il faut un peu d'entrainement, mais c'est pas trop dur. Resultat : moins de page différentes, mais des pages plus longue.

Suffit de faire un test sur la valeur de ton submit :

<input type="submit" name="sub" value="Submit">

et en haut de ta page avec le formulaire :
if (isset($_POST['sub']) && $_POST['sub']=="Submit") {
  // tu peux commencer tous tes test sur les champs
  if (isset($_POST['champ1']) {
  //le champ1 est rempli
  }
  else {
  //le champ1 n'est pas rempli !
  }
  if (isset($_POST['champ2']) {
  //le champ2 est rempli
  }
  else {
  //le champ2 n'est pas rempli !
  }
//tu peux afficher un msg de confirmation
echo "le formulaire a été envoyé.";
}
else {
//tu affiche et tout le reste de ta page, c'est a dire le formulaire en gros
}

par donny » 30 juin 2005, 14:41

et tu fais comment ?
tu verifie si les champs sont bien rempli sur la meme page et si c est pas bon tu renvoi la personne sur une autre page ?

par VaN » 30 juin 2005, 14:29

ça après c'est toi qui choisit, selon ta préférence. personnelement je ne suis pas très friand des fenetres javascript, je gére le message d'erreur en html directement.

par donny » 30 juin 2005, 14:20

merci

je vais faire cela avec is_numeric et empty
mais le truc c est que je voulais savoir
vaux mieux que j affiche des boite de dialogue javascript
pour indiquer par exemple le champs nom le chamsp nom est vide, ou le champs age doit etre numerique...

ou de rediriger l utilisateur sur une page en php qui lui indique quel champs sont incorrect et qui le redirige sur le formualaire ?

par Ripat » 30 juin 2005, 13:35

Un petit coup de doc?
http://be2.php.net/is_numeric

par donny » 30 juin 2005, 13:32

en faite c est pour verfier certains champs avant l insertion, et comme certains champs doivent contenir un prix ou une durée de garantie, je voudrais eviter que la personne saississe des des lettres dans ces champs

par demipoulp » 30 juin 2005, 13:09

en javascript :
<!-- Script par KevBrok :) -->
<script type="text/javascript">
function is_numeric(num)
	{
		var exp = new RegExp("^[0-9-.]*$","g");
		return exp.test(num);
	}
</script>

par guilt92 » 30 juin 2005, 13:07

l'interval des chiffres est grand ?

Car sinon tu peux simplement faire des listes de selection, au moins tu es sur de ce qu'il y aura dedans...

verification de validité de formulaire

par donny » 30 juin 2005, 13:03

salut,

J'ai des formulaires dans lequel j ai des champs obligatoire et des champs qui ne doivent contenir que des valeur numerique.
Avant d inserer ces données dans ma base, je dois veriifier et pour cela je dois le faire en php, pas en, javascript ?

Merci