Page 1 sur 1

verification de validité de formulaire

Posté : 30 juin 2005, 13:03
par donny
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

Posté : 30 juin 2005, 13:07
par guilt92
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...

Posté : 30 juin 2005, 13:09
par demipoulp
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>

Posté : 30 juin 2005, 13:32
par donny
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

Posté : 30 juin 2005, 13:35
par Ripat
Un petit coup de doc?
http://be2.php.net/is_numeric

Posté : 30 juin 2005, 14:20
par donny
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 ?

Posté : 30 juin 2005, 14:29
par VaN
ç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.

Posté : 30 juin 2005, 14:41
par donny
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 ?

Posté : 30 juin 2005, 15:07
par VaN
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
}

Posté : 30 juin 2005, 15:16
par donny
ok je vais essayer

Posté : 04 juil. 2005, 09:56
par donny
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);
  ....
  } 
 
 

Posté : 04 juil. 2005, 10:00
par pjl
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.

Posté : 04 juil. 2005, 10:36
par donny
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.

Posté : 04 juil. 2005, 10:43
par donny
Quant tu as une erreur
tu l affiche directement sur la même page,
c est mieux ?

Posté : 04 juil. 2005, 10:53
par donny
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); 
  .... 
  }