Pour la réalisation des tests sur mon formulaire avec php, j'ai essayé is_int() ou is_integer() mais ça ne marche pas.
exemple:
if (!isset ($this->Getion) || trim($this->Getion) == "" || !is_integer($this->Getion)){
echo"message erreur!"; }
Au fait, avec ce script même qd je rentre un entier dans le formulaire , il me le prend pas et m'affiche le message d'erreur.
par contre , il me semble qu'il faut utiliser is_numeric mais ce dernier prend même des reels et flottants.
Tu ne testerais pas ces fonctions sur du GET ou du POST ? Si oui, c'est normal que cela ne fonctionne pas, tout ce qui provient du GET ou du POSt est considéré comme étant un type string par PHP.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
(Cart) Non.
Je vais préciser ce qu'à dit La Globule. Une variable en PHP est typée.
$var = 3 ;
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
$var = '3'
echo '$var ' (is_int($var) ? 'est' : 'n\'est pas') un nombre ;
Dans mon exemple, $var est tantôt un entier, tantôt une chaine... représentant un entier. C'est ce qu'il faut comprendre ici : faire la distinction entre un nombre et une chaine représentant un nombre.
Or, comme le disait La Globule, le tableau $_POST ne contient que des chaines (comment saurait-il qu'il lui faut préparer un entier plutôt qu'une chaîne ?).
Donc il faut utiliser une fonction qui détermine si le contenu de la chaine est un nombre.