Numérique dans Balise <INPUT TYPE='TEXT'> + PHP - PHP - Programmation
Marsh Posté le 02-10-2006 à 15:57:18
horlin a écrit : Dans un formulaire HTML une de mes balises <INPUT TYPE='TEXT' METHOD='POST'> doit retourner uniquement du numérique. |
ce comportement est normal car <input type="text"/> renvoie une string. Pour tester, tu peux utiliser les expressions régulières.
Marsh Posté le 02-10-2006 à 16:06:02
pas trop besoin de regex
http://fr.php.net/manual/fr/function.is-numeric.php , http://fr.php.net/manual/fr/function.is-float.php , http://fr.php.net/manual/fr/function.is-int.php
et
http://fr.php.net/manual/fr/function.is-string.php
Marsh Posté le 02-10-2006 à 16:06:53
Les forumaires PHP retournent TOUJOURS du string.
Je te conseillerais de tester AVANT le submit, via JavaScript, que le nombre est bien du numérique, grâce à la fonction IsNaN() :
http://www.devguru.com/Technologie [...] isnan.html
un truc du genre
Code :
|
(au fait, le "method" se place au niveau de la balise "form", pas de l' "input"...)
et la fonction JS est simple (à placer dans une balise "script" dans le head)
Code :
|
Le formulaire ne sera pas soumis (return false) si la condition isNaN est remplie, c'est-à-dire si la valeur n'est pas un nombre ...
Tu peux customiser même la fonction JS avec un window.alert().
Marsh Posté le 02-10-2006 à 16:11:02
ZeBix a écrit : Je te conseillerais de tester AVANT le submit, via JavaScript, que le nombre est bien du numérique, grâce à la fonction IsNaN() : |
Yeaaah right ... Comme ça si le visiteur a pas le js activé ou si il y une erreur dans le js, le contrôle n'est pas fait est tout se pète la figure !!!
Ce genre de contrôle en js n'est envisageable que pour améliorer l'érgonomie et eviter un aller-retour de l'information vers le serveur, mais de toute façon, il faut quand même le faire APRES le submit!
Marsh Posté le 02-10-2006 à 16:15:01
anapajari a écrit : Yeaaah right ... Comme ça si le visiteur a pas le js activé ou si il y une erreur dans le js, le contrôle n'est pas fait est tout se pète la figure !!! |
Vrai, n'empêche que ne pas exécuter de contrôle côté client, c'est de la progra préhistorique.
Bref, horlin, fais les deux
Marsh Posté le 02-10-2006 à 15:24:29
Dans un formulaire HTML une de mes balises <INPUT TYPE='TEXT' METHOD='POST'> doit retourner uniquement du numérique.
Je teste ensuite les valeurs du tableau $_POST pour verifier le type de données et quelque soit ma saisie il me renvoie un type string.
Comment faire pour tester si c'est du numèrique ou de l'alpha-numérique ?