Vérification de chaines de caractères

cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010 - 11 janv. 2005 à 17:45
cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010 - 12 janv. 2005 à 17:37
Bonjour à tous,

Bon mon problème n'est pas original mais malgré les réponses que j'ai
trouvées sur ce forum, je n'arrive pas à faire fonctionner des
fonctions de vérification de chaines pour un formulaire. Il y'a trois
fonctions, une pour les noms, une pour les numeros de téléphone, et une
pour les mails. Je ne suis pas du tout familiarisé au php alors j'ai du
mal, je vous copie les fonctions parce que je ne vois pas quelles sont
les erreurs. J'ai vérifié, et quand je leur passe une chaine en
paramètre, la fonction est bien appelée ; cependant elle ne retourne
aucun résultat. Voici les fonctions :



function verif_texte($text)

{

if ($text=="") {

return 1;

}

elseif (ereg("([:blank])-([:digit:])",$text)) {

return 2;

}

else {

return 0;

}

}



function verif_num($num)

{

if ($num=="") {

return 1;

}

elseif (sizeof($num)!=10) {

return 2;

}

elseif (ereg("([:blank:])-([a-Z])",$num)){

return 3;

}

else {

return 0;

}

}



function verif_mail($mail)

{

if ($mail=="") {

return 1;

}

elseif (ereg("(@)-(.)",$mail)) {

return 2;

}

else {

return 0;

}

}



Merci à vous.

6 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 janv. 2005 à 19:22
Salut,



pour la verif d'email déjà :



tu sembles vérifier si le caractère @ est présent, bref autant utiliser la fonction strpos ;-)



ensuite pour ce qui est des deux autres champs, quels types de valeurs
souhaites-tu verifier ? à quelles conditions doivent obéir ces champs
pour que le ereg ait pour valeur 1 ?



a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010
11 janv. 2005 à 19:28
Je ne connais pas la fonction strpos() , elle s'utilise comment ? Pour
les autres fonctions, la première sert à vérifier si les champs nom et
prénom ont été remplis, et si ils ne comportent pas de caractères
spéciaux ou de chiffres, et verif_num vérifie des numeros de téléphone
: ils ne doivent comporter que des chiffres, et tenir sur 10 caractères.

Les différentes valeurs de retour, si elles sont différentes de 0,
correspondront ensuite à différents codes d'erreur retraités ensuite.
Ca ne marche pas non plus encore à la perfection mais je m'en occuperai
après.

D'autre part j'ai changé les if ($text=="")

en if (strlen($mail)==0) et maintenant ça marche. Mais pour les autres
tests... Voilà, j'espère que ça te donne plus d'idées, merci.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 janv. 2005 à 19:32
http://fr.php.net/manual/fr/function.strpos.php



pour le reste je regarde ce soir ;-)

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010
11 janv. 2005 à 19:36
merci beaucoup !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010
12 janv. 2005 à 13:56
Bon, y'a du nouveau. J'ai avancé un peu depuis hier et je comprends le
fonctionnement théorique de la fonction ereg() ; ce que je ne comprends
pas c'est que ce test :



elseif (eregi("[:blank:]|[:digit:]",$text))



est toujours vrai, quoi que je passe en paramètre. Pourtant selon moi
il ne devrait l'être que si la chaine $text contient des espaces ou des
chiffres, non ? Je me prends la tête depuis des heures là dessus, alors
si quelqu'un peut m'éclairer, merci beaucoup...
0
cs_Rankin Messages postés 52 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 27 avril 2010
12 janv. 2005 à 17:37
bon finalement j'ai fini par trouver, ça marche. merci quand même.
0
Rejoignez-nous