[php]vérification si variable est réelle

roy mustang Messages postés 125 Statut Membre -  
 le père -
Bonjour,
salut ce code est sensé me permettre de vérifier si mes variables sont des réelles ou non... le problème c'est qu'il s'affiche tout le temps malgré que mes input ont comme valeur des chiffres tel que 1...
if((!is_float($qte_base)) or (!is_float($qte_raye)) or (!is_float($qte_uni)))
		{
		echo"les quantité insèrés doivent être des chiffres à la ligne $i";
		} 

y a t il une faute de syntaxe??? merci pour votre aide
Configuration: Windows XP
Firefox 3.0.10

1 réponse

  1. le père
     
    Bonjour

    Les variables récupérées dans les formulaires sont de chaines de caractères, pas des nombres. Même si ces chaînes représentent des nombres.
    Or la fonction is_float teste le type de la variable, elle te rendra toujours faut sur les variables d'un formulaire
    Il faut utiliser is_numeric qui teste si la variable peut être interprétée comme un nombre, ce qui est ce que tu veux

    Fais l'expérience :
    <?php
    if (is_float(3.5)) echo '3.5 est float'; else echo '3.5 n est pas float';
    echo '<br />';
    if (is_float("3.5")) echo '"3.5" est float'; else echo '"3.5" n est pas float';
    echo '<br />';
    if (is_numeric(3.5)) echo '3.5 est numeric'; else echo '3.5 n est pas numeric';
    echo '<br />';
    if (is_numeric("3.5")) echo '"3.5" est numeric'; else echo '"3.5" n est pas numeric';
    echo '<br />';
    ?>
    0