Tester un input de formulaire pour voir si c'est un nombre

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 : Tester un input de formulaire pour voir si c'est un nombre

par pascal123 » 31 janv. 2006, 23:32

Super super !
Ca marche impecable.
J'ai juste modifie la fonction histoire de prendre en compte ceux qui tapent en majuscule
function cp_valide ($cp) {
  return ereg ("^(2[abAB]|0[1-9]|[1-9][0-9])[0-9]{3}$", $cp);
} 
Bravo pour la rapidite et la valeur des reponses de ce forum !
:D
Pascal[/php]

par pascal123 » 31 janv. 2006, 23:21

On voit la les yeux du maitre !! :wink:
Mille merci.
Je teste ca de suite et je clos tout si ca boume !
Pascal

par Cyrano » 31 janv. 2006, 23:11

Non, ce n'est pas idiot, mais il y a une faute d'inattention:
elseif(!(cp_valid($Code)))
au lieu de
elseif(!(cp_valide($Code)))
L'espace entre le nom de la fonction et la parenthèse n'a aucune incidence, mais une lettre manquante donne une erreur automatique puisque c'est un nom différent..

par pascal123 » 31 janv. 2006, 23:03

Pour plus de clarte, voila le code tel quel :
<?php
function cp_valide ($cp) {
  return ereg ("^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$", $cp);
} 

if(isset($_POST["submit"]))
{
	$Code     = $_POST['code'];
      if (empty($Code))
	{
    		$Vide.="Il manque le code postal de votre adresse personnelle!<br>";
	}
	elseif(!(cp_valid($Code)))
	{	
    		$Vide.="Le code postal personnel n'est pas valide !<br>";
	}
echo $Vide;
}
c'est idiot non ?

par Cyrano » 31 janv. 2006, 23:02

Effectivement, si tu appelles une fonction JavaScript (et non Java) depuis une ligne en PHP, tu te fais jeter, c'est normal. garde ta fonction, mais mets-la entre balise PHP, c'est une fonction PHP. En JavaScript, les variables ne sont pas préfixées par un "$".

par pascal123 » 31 janv. 2006, 22:59

Non.
Elle est au debut du fichier php exactement telle que je l'ai mise dans mon post precedent.
Peut-etre faut-il dire que c'est du java ?
D'ailleurs est-ce du java ou du php cette fonction ?
Je me demandais aussi pourquoi laisser un espace entre le nom de la function et la parenthese qui suit...
Enfin je me perds un peu ici.

par Cyrano » 31 janv. 2006, 22:56

Si ta fonction est dans un fichier externe, as-tu bien fait un include() de ce fichier dans ta page ?

par pascal123 » 31 janv. 2006, 22:51

Merci merci.
Ca m'a l'air tout simplement impec !
Le seul c'est que je patouille et je ne sais pas declarer une fonction ou peut-etre, l'appeler :
si je mets :
function cp_valide ($cp) {
  return ereg ("^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$", $cp);
} 
dans mon script et que je teste mon code postal, je mets un truc du genre :
if(!(cp_valide($Code)))
{
Vide.="code non valide<br>";
}
Ca me semble logique mais ca me renvoie une fatal error...
Fatal error: Call to undefined function: cp_valid() in coordonnees.php on line 68.

Arrgggggg![/php]

par Cyrano » 31 janv. 2006, 22:49

Quand ils ne plastiquent pas une gendarmerie ou une sous-préfecture, je suis certain que les Corses sont aussi charmants que des continentaux voire même comme des Bretons ou de Basques :langue:

par Truc » 31 janv. 2006, 22:46

atteste incontestablement que ce n'est donc pas une évidence ! :langue:
Peut-être :-k

En tout cas, je n'ai jamais été invité à boire un verre du coté de la Corse :lol:

Mais je suppose qu'ils sont tout de même amicaux :-({|=

par albat » 31 janv. 2006, 22:40

La vraie discrimination est ici :
nos amis Corses :wink:
Avoir besoin de préciser que les Corses sont "nos amis"
atteste incontestablement que ce n'est donc pas une évidence ! :langue:

Je n'ai jamais eu besoin de préciser "nos ennemis lyonnais"... :mrgreen:

par Truc » 31 janv. 2006, 22:35

en exceptant la corse...
(...)
Qu'en pensent ceux qui savent ?
C'est de la discrimination :lol:

regarde ici pour prendre en compte nos amis Corses :wink:

par pascal123 » 31 janv. 2006, 20:54

Est-ce que finalement ( en exceptant la corse...)
Si je fais un test du code postal en utilisant is_numerique et que je regarde si le nombre est inferieur a 99999, je devrais tombe juste a peu de chose pres non ?
Qu'en pensent ceux qui savent ?
Merci
Pascal

Bon sang !

par pascal123 » 31 janv. 2006, 20:36

je me suis gourre de liste je crois bien !
Milles excuses, encore un coup de debutant.
Merci de me l'avoir signale.
Pascal

Re: Tester un input de formulaire pour voir si c'est un nomb

par mario » 31 janv. 2006, 17:30

En gros, l'tulisateur entre son code postal et je voudrais etre sur que le code est valide en verifiant qu'il s'agit d'un nombre de 5 chiffres...
Il faut utiliser les expressions régulières.
Attentions, un code postal corse possède une lettre :)