vérifier un champ qui contient que des chiffres

Eléphant du PHP | 183 Messages

14 août 2006, 15:56

Salut!!
Je voudrais vérifier qu'un champ qui contient que des chiffres float ou int, mais que des chiffres...j'ai fais ça mais ça n'a pas l'air de fonctionné...
//Vérification du prix entier ou réel mais que des chiffres
	if ($_POST["prix_revient"]!="") {
		if (is_float($_POST["prix_revient"]) or is_integer($_POST["prix_revient"])) {
			$prix_revient=$_POST["prix_revient"];
		} else {
			echo "Veuillez saisir un prix qui contient que des chiffres (entiers ou réels) !<br>";
		}
}

ViPHP
ViPHP | 1380 Messages

14 août 2006, 16:17

Et avec is_numeric() ?
ripat

Eléphant du PHP | 183 Messages

14 août 2006, 16:19

j'ai essayé mais les chiffres a virgule sont exclus ...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 août 2006, 16:28

Je vais en revenir au fonctionnement de base d'un forum technique :
"Ca n'a pas l'air de fonctionner" ne veut rien dire !!!

Pour fournir une aide optimale, il faut que tu nous dises ce que tu voudrais que ton code fasse et ce qui te fait dire que ça ne fonctionne pas
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1380 Messages

14 août 2006, 16:35

j'ai essayé mais les chiffres a virgule sont exclus ...
Remplace tes virgules par des points avant de les soumettre à is_numeric()
ripat

Eléphant du PHP | 183 Messages

14 août 2006, 16:35

Merci modérateur !
Je veux ts simplement vérifier si le champ prix, est bien remplit soit avec des chiffre int ou float mais pas des lettres ou autre caracteres...
j'ai réssayé is_numeric, et je pense que ça va convenir a mes besoins, puisque si il fonctionne aussi avec les chiffres a virgule (enfin avec un point)

Eléphant du PHP | 183 Messages

14 août 2006, 16:40

En fait ce qui serait bien c'est une fonction qui accepte que des chiffres ! et avec une virgule ou un point comme séparateur...

Mammouth du PHP | 983 Messages

14 août 2006, 21:16

Issu du framework Zend, plus précisement de la classe Zend_Filter.
 /**
     * Returns value if it is a valid float value, FALSE otherwise.
     *
     * @param mixed $value
     * @return mixed
     */
    public static function isFloat($value)
    {
        $locale = localeconv();

        $value = str_replace($locale['decimal_point'], '.', $value);
        $value = str_replace($locale['thousands_sep'], '', $value);

        return (strval(floatval($value)) == $value);
    }

Eléphant du PHP | 183 Messages

16 août 2006, 08:40

merci Rami, je vais voir ça .