Tester numéricité entier formulaire
Résolu/Fermé
[TiDi]
Messages postés
126
Date d'inscription
samedi 19 octobre 2013
Statut
Membre
Dernière intervention
17 juillet 2016
-
20 janv. 2014 à 22:47
[TiDi] Messages postés 126 Date d'inscription samedi 19 octobre 2013 Statut Membre Dernière intervention 17 juillet 2016 - 23 janv. 2014 à 21:10
[TiDi] Messages postés 126 Date d'inscription samedi 19 octobre 2013 Statut Membre Dernière intervention 17 juillet 2016 - 23 janv. 2014 à 21:10
A voir également:
- Tester numéricité entier formulaire
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Formulaire de réclamation facebook - Guide
- Tester composant pc - Guide
- Tester signal wifi gratuit - Guide
1 réponse
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
21 janv. 2014 à 10:31
21 janv. 2014 à 10:31
Salut TiDi,
https://www.php.net/manual/fr/reserved.variables.post.php
$_POST est un tableau associatif.
Pour accéder à une valeur POSTée, tu dois préciser quelle est la valeur en question à laquelle tu veux accéder.
Dal
https://www.php.net/manual/fr/reserved.variables.post.php
$_POST est un tableau associatif.
Pour accéder à une valeur POSTée, tu dois préciser quelle est la valeur en question à laquelle tu veux accéder.
if ( is_numeric($_POST["data1"]) && is_numeric($_POST["data2"] ) { echo "<p>Les deux valeurs sont numériques</p>"; }
Dal
21 janv. 2014 à 17:54
Modifié par [Dal] le 21/01/2014 à 18:20
https://www.php.net/manual/fr/function.is-int.php
https://www.php.net/manual/fr/function.is-integer.php
Modifié par [Dal] le 21/01/2014 à 19:13
Il est probable que ton $_POST contienne en fait une chaîne représentant la saisie (qui peut ou non être un entier).
Tu peux le vérifier avec gettype :
https://www.php.net/manual/fr/function.gettype.php
Si c'est le cas, alors probablement :
si $_POST["data1"] contient "10" (une chaîne), le résultat de is_int va être : faux
on peut tenter de convertir la chaîne avec intval :
https://www.php.net/intval
puis, vérifier si c'est bien un entier que tu as. Mais la gestion d'erreur de intval n'est pas terrible (si la conversion ne peut être faite, cela renvoie zéro, qui.. est un entier), et de plus, si l'entrée est un nombre décimal, cela va certainement tronquer la valeur sans que tu le saches.
Une autre solution est d'utiliser des regexp, si ce que tu veux vraiment, c'est exiger que ce qui est entré soient des entiers.
Cette regexp valide :
"12"
" 12"
" 12 "
"+3"
"+ 3 "
"-4"
etc.
Si tu veux juste des entiers positifs et sans signe, la regexp devient
Dal
23 janv. 2014 à 21:10
Pour les nombres entiers ça marche aussi !
Merci beaucoup Dal.