8800 sujets

Développement web côté serveur, CMS

bonjour je suis dans le traitement d'un mini formulaire et je voudrais savoir comment tester la variable du post genre si ma variable est différente d'un nombre..... Smiley sweatdrop
j'ai fais ça mais ça ne fonctionne pas Smiley bawling

if(isset($_POST['keywords'])&&($_POST['keywords'!==[:digit:]))
{
fais mon truc
}
oki pour is_numeric par contre je voudrais savoir comment tester la taille du nombre car l'utilisateur doit rentrer un numéro de téléphone donc is_numeric me filtre bien les string maintenant il faut que je test la taille car si je met par exemple que 1 le filtre est rompu
peut on écrire cela

if(is_numeric($_POST['keywords'])&&(strlen($_POST['keywords'])==10))
{
fait mon truc
}
leo2v a écrit :
peut on écrire cela

if(is_numeric($_POST['keywords'])&&(strlen($_POST['keywords'])==10))
{
fait mon truc
}

Je te laisse tester par toi-même ..
oki tout marche merci encore pour l'info is_numeric Smiley cligne
faut que je fasse un tour dans le réferenciel php je suis sur qui a plein d'autre truc marrent Smiley lol
Sauf que pour un numéro de téléphone ça ne va pas puisque is_numeric() teste si une valeur est de type numérique. Donc des valeurs comme +0123.45e6 ou 0x12345678 vont être considérées comme valides.

Dans ton cas il faut utiliser une expression rationnelle :


if(preg_match('/^[0-9]{10,10}$/', $_POST['keywords']) === 1)
{
// ton code ici
}

Modifié par jb_gfx (19 Sep 2011 - 19:13)
jb_gfx a écrit :
Sauf que pour un numéro de téléphone ça ne va pas puisque is_numeric() teste si une valeur est de type numérique. Donc des valeurs comme +0123.45e6 ou 0x12345678 vont être considérées comme valides.

Dans ton cas il faut utiliser une expression rationnelle :


if(preg_match('/^[0-9]{10,10}$/', $_POST['keywords']) === 1)
{
// ton code ici
}

Super mais j'arrive pas bien a comprendre comment ça marche pourquoi certain paramètre ressemble à un array et l'autre a un objet genre json et pourquoi /^ et $/ en début et fin Smiley confus
oki merci pour l'info Smiley lol si j'ai tout compris pour filtrer mon numéro de tel avec preg_match c'est plusce genre de motif qu'il convient Smiley langue

if(preg_match('`(\d+\s?[./-/+]?)+`', $_POST['keywords']) === 1)
{
	$numero = $_POST['keywords']; 
	echo$numero;
}
et pour finir pfiouuuu tout ça pour un petit num de telephone Smiley sweatdrop

if(preg_match('!^(\+){0,1}[0-9/ \-\.]{8,25}$!', $_POST['keywords']) === 1)
{
	$numero = $_POST['keywords']; 
	echo "verif mon numero est: $numero";
}