Page 1 sur 1

is_int()

Posté : 17 avr. 2013, 00:24
par moez elouaer
formulaire.htm :

<form method="POST" action="valid.php">
<input type="text" name="num" size="20"><input type="submit" value="Envoyer" name="B1">
</form>


valid.php :
<?php
$num = $_POST['num'];
echo gettype($num);
?>

j'ai entré ds la zone de texte de mon formulaire la valeur 55 pourquoi ça me retourne :

string

Re: is_int()

Posté : 17 avr. 2013, 00:29
par yann18
les données reçues d'un formulaire sont toutes des String. Tu dois faire ceci:
$num = intval($_POST['num']); 

//ou encore
$num = (int)$_POST['num']; 
A toi de choisir

Re: is_int()

Posté : 17 avr. 2013, 00:48
par moez elouaer
merci

Re: is_int()

Posté : 17 avr. 2013, 03:20
par AB
Eventuellement pour une variable issue d'un formulaire tu peux aussi utiliser les filtres qui vont bien :
$num = filter_input(INPUT_POST, 'num', FILTER_VALIDATE_INT);	
Cela te permettrait une analyse plus fine que de caster directement la variable à réception du post. Car dans ce cas si la saisie dans le formulaire n'est pas un entier alors $num sera égal à false et sinon la variable sera castée en entier
Si par contre tu caste directement ta variable en entier, elle vaudra 0 si la saisie n'est pas un entier et donc impossible entre autre de faire la différence entre la saisie d'une chaine de caractère qui donnera 0 et le nombre 0.

Re: is_int()

Posté : 18 avr. 2013, 01:39
par moez2210
merci ça marche