Vérifier si un nombre posté via un formulaire est un entier

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 : Vérifier si un nombre posté via un formulaire est un entier

Re: Vérifier si un nombre posté via un formulaire est un ent

par moogli » 20 janv. 2014, 22:54

Blackout dans ta tête, ça nous avance pas beaucoup ... On choisit quoi au final pour tester la numéricité entier d'un formulaire ?
le sujet regorge de solution, peux être peu tu prendre la peine de les tester ?

et comme je suis sympa je t'en offre une de plus filter_var.

j'ajouterais que les formules de politesse ne sont pas forcément superflu !


@+

Re: Vérifier si un nombre posté via un formulaire est un ent

par [TiDi] » 20 janv. 2014, 22:26

Blackout dans ta tête, ça nous avance pas beaucoup ... On choisit quoi au final pour tester la numéricité entier d'un formulaire ?

Re: Vérifier si un nombre posté via un formulaire est un ent

par xTG » 06 nov. 2012, 11:16

Non ça par contre ça ne fonctionnera pas.
Car tout ce qui est transmis par GET ou POST est de type String. ;)
Ben oui mais j'ai bien peur que pour les mêmes raisons is_int() ne soit pas adapté pour tester une entrée de formulaire :|
Blackout dans ma tête. u_u

Re: Vérifier si un nombre posté via un formulaire est un ent

par dix2 » 06 nov. 2012, 11:16

input type="number" ?
c'est du HTML5
vérification côté utilisateur donc pas fiable
mais une bonne solution alternative au JS pour améliorer l'ergonomie

Re: Vérifier si un nombre posté via un formulaire est un ent

par schim59 » 06 nov. 2012, 11:10

input type="number" ?

Re: Vérifier si un nombre posté via un formulaire est un ent

par AB » 06 nov. 2012, 01:11

hello,
A ta place j'utiliserais la fonction ctype_digit() pour vérifier si ta chaine contient seulement des chiffres compris entre 0 et 9, surtout dans ton cas ou on parle de quantité donc forcement nulle ou positive.
tiens oui, je l'avais complètement oubliée cette fonction :) faut dire aussi que j'utilise toujours la première méthode dans mes exemples cité plus haut, donc je vérifie pas, je caste.

Re: Vérifier si un nombre posté via un formulaire est un ent

par cezame » 06 nov. 2012, 00:45

hello,

A ta place j'utiliserais la fonction ctype_digit() pour vérifier si ta chaine contient seulement des chiffres compris entre 0 et 9, surtout dans ton cas ou on parle de quantité donc forcement nulle ou positive.

Re: Vérifier si un nombre posté via un formulaire est un ent

par sam12 » 06 nov. 2012, 00:25

En effet, je proposais juste une solution alternative ;)

Re: Vérifier si un nombre posté via un formulaire est un ent

par AB » 06 nov. 2012, 00:08

regex? [0-9]?
Oui sans soute ça pourrait le faire, mais à moins d'avoir des besoins particuliers il vaut mieux éviter d'utiliser un regex pour si peu :wink:

Re: Vérifier si un nombre posté via un formulaire est un ent

par sam12 » 06 nov. 2012, 00:06

regex? [0-9]?

Re: Vérifier si un nombre posté via un formulaire est un ent

par AB » 06 nov. 2012, 00:06

Je vérifie s'il s'agit bien d'un nombre, mais je peu faire 1,5. Ce que je ne veux pas...
Deux solutions.
Soit tu veux au final avoir un entier et tu peux faire :
$nb = is_numeric($_GET['toto']) ? intval($_GET['toto']) : 'valeur par défaut';
Soit tu veux tester que la valeur rentrée est bien un entier et tu peux faire :
$nb = is_numeric($_GET['toto']) && intval($_GET['toto']) == $_GET['toto'] ? $_GET['toto'] : 'pas bon';

Re: Vérifier si un nombre posté via un formulaire est un ent

par AB » 05 nov. 2012, 23:52

Non ça par contre ça ne fonctionnera pas.
Car tout ce qui est transmis par GET ou POST est de type String. ;)
Ben oui mais j'ai bien peur que pour les mêmes raisons is_int() ne soit pas adapté pour tester une entrée de formulaire :|

Re: Vérifier si un nombre posté via un formulaire est un ent

par xTG » 05 nov. 2012, 21:09

Non ça par contre ça ne fonctionnera pas.
Car tout ce qui est transmis par GET ou POST est de type String. ;)

Re: Vérifier si un nombre posté via un formulaire est un ent

par schim59 » 05 nov. 2012, 20:51

Bonjour,

ou if(gettype()==int){...;}

C'est plus long donc je vois pas l'intérêt :=)

Re: Vérifier si un nombre posté via un formulaire est un ent

par rickphp » 05 nov. 2012, 19:49

D'accord je vais essayer cela :)