Page 1 of 1

min < X < max ???

Posted: 31 Jul 2007, 16:55
by chegham_wassim
bonjour a tous,

voici un extrait d'un MP que j'ai envoyé à JMGR. j'espere que ca vous aidera:
bonjour,

je suis en train de faire un petit script sympa avec votre programme, et je bloque dans deux parties!

voici le principe:

partie 1:
je souhaite imposer à l'utilisateur de ne rentrer que des chiffres (un num de tel) dans "demande de texte", et rien d'autre (ni lettre, ni champ vide, ni espace, ni autre caractere: virule...etc). j'ai reussi pour l'espace, pour le champ vide, mais pas le reste.

j'ai tenté de mettre le type de condition suivant, pour controler le type de texte entrer mais sans succes:

Code:
01- si "0" est dans {$num_tel} aller a "02" sinon aller a "ERREUR"
02- si "1" est dans {$num_tel} aller a "03" sinon aller a "ERREUR"
...etc
10- si "9" est dans {$num_tel} aller a "etape_2" sinon aller a "ERREUR"


partie 2:
extraire le 3eme et le 4eme chiffre (ce qui n'est possible qu'avec un type chaine) de ce que l'utilisateur a entre (num de tel). et faire les comparaisons suivantes:

Code:
si {$3et4} est compris entre A et B aller a "EEEEE" sinon "autre"
si {$3et4} est compris entre C et D aller a "GGGG" sinon "autre"
si {$3et4} est compris entre E et F aller a "PPPPP" sinon "autre"


mais là, je ne sais pas comment encadrer un entier avec ces conditions!

sauriez-vous m'aider ou bien me diresi c'est possible de proceder autrement ?

merci enormement pour votre temps et votre aide !

PS: j'ai toujours pas de reponse pour la 2eme partie !si quelqu'un sait comment on fait, merci de repondre!

bonne journée a toutes et a tous

Posted: 31 Jul 2007, 19:04
by Jmgr
Hm que sont ces A, B, C, D, etc. ?

Posted: 31 Jul 2007, 19:37
by chegham_wassim
salut,

les A, B, C ... ca peut etre nimporte quel entier ( 0, 22, 8887...).

cest comme en math, encadrer un entier, tout simplement!

merci

Posted: 01 Aug 2007, 13:08
by chegham_wassim
salut,

je vai essayé de reéxpliquer mon probleme,

je demande à l'utilisateur un numero de tel valide: 06XXnnnnnn

- j'extrait le "XX" (chiffre 3 et 4) et je met une condition sur le "XX":
si A < XX < B alors faire quelques chose
si B < XX < C alors faire quelques chose
...etc,
eventuellemnt, si XX = Z, faire autre chose

- les "nnnnnn" ne servent à rien ici(dans mon exemple).


NB: je verifie que le num de tel vérifie les condition suivantes:
( cyan = fait, rouge = pas fait, besoin d'aide)


- comporte bien 10 chiffres (avec strlen),
- commence par un "O6" (avec substr),
- pas d'espace (avec variable dans variable, merci jmgr),

- pas de caractères speciaux (ou que des chiffres),
- pas de lettres (ou que des chiffres).


sinon, ca renvoit vers un message erreur correspondant a chaque cas!



merci de votre aide!

Posted: 01 Aug 2007, 22:53
by Jmgr
Je vais étudier ca demain normalement.

Posted: 07 Aug 2007, 05:57
by Jmgr
Hm désolé mais au mois d'aout je travaille pour un job d'été et j'ai peu de temps libre.

Sinon pour ton script, il te suffit de vérifier que chaque caractère de la chaine entré par l'utilisateur est 0, 1, ... j'usqu'à 9 comme ca pas besoin de vérifier s'il y a des lettres ou des caractères spéciaux.

Pour extraire deux chiffres du numéro utilise substr puis convertis la chaine trouvée en nombre avec une action de variable que tu peux ainsi comparer avec B et C.