Page 1 sur 1

tester variable ; texte ou nombre ??

Posté : 15 juin 2007, 19:43
par chrislabricole
bonjour,

pour faire simple, voici un exemple litéraire...

SI GET=id est DIFFERENT d'une valeur numérique, j'affiche : "barre toi !"

SI GET=id est EGAL d'une valeur numérique, j'affiche : "bienvenue ! je t'aime !"

:lol:

je vousdrait le même script mais c'est "d'une valeur numérique" que je bloque...

merci de votre aide !

Posté : 15 juin 2007, 20:36
par Henri
c'est is_numeric() que tu cherches ?

Posté : 15 juin 2007, 21:01
par Klomac
Oui, is_numeric() si tu veux vérifier un nombre, is_int() pour vérifier un entier, is_float() pour vérifier un décimal.

Posté : 15 juin 2007, 21:14
par chrislabricole
donc, c'est sa ??
if(is_int($_GET['id']))
{
echo '<meta http-equiv="refresh" content="0;URL=accueil.php" />';
exit();
}

Posté : 15 juin 2007, 22:15
par Jules Petibidon
hello,

a priori is_int() te répondra toujours faux... tout parametre passé en GET ou POST est recu comme chaine de caracteres (type String).

à la limite si tu attends un entier, tu peux utiliser ctype_digit(), qui retournera true s'il n'y a QUE des chiffres.

Posté : 15 juin 2007, 23:10
par chrislabricole
a ! ok ! donc en fait, c'est sa?
$id = $_GET['id'];
$test = is_int($id);

if($test == FALSE) //si c'est pas un nombre, le visiteur est rédirigé...
{
echo '<meta http-equiv="refresh" content="0;URL=accueil.php" />';
exit(); //fin de l'exécution de la page...
}

Posté : 16 juin 2007, 00:39
par Sékiltoyai
Il faut que tu utilises la fonction is_numeric(), la fonction is_int() te posera des problèmes.

Posté : 16 juin 2007, 17:09
par chrislabricole
a ok, donc sa :
$id = $_GET['id'];
$test = is_numeric($id);

if($test == FALSE) //si c'est pas un nombre, le visiteur est rédirigé...
{
echo '<meta http-equiv="refresh" content="0;URL=accueil.php" />';
exit(); //fin de l'exécution de la page...
}

Posté : 16 juin 2007, 17:12
par jojolapine
ben c'est à toi de nous dire si ça fonctionne :roll:
On va pas faire les tests pour toi... :-*

Posté : 16 juin 2007, 19:35
par chrislabricole
ouai sa marche ! merci ! :D :D