Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2006, 22h30   #1
Nouveau Membre du Club
 
Avatar de FRANCKYIV
 
Homme Franck WLODARCZYK
Webmaster
Inscription : août 2003
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Franck WLODARCZYK
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2003
Messages : 75
Points : 31
Points : 31
Envoyer un message via AIM à FRANCKYIV Envoyer un message via MSN à FRANCKYIV Envoyer un message via Yahoo à FRANCKYIV Envoyer un message via Skype™ à FRANCKYIV
Par défaut Vérification d'un code postal


'alut tout l'monde ...


Voila, j'ai un petit soucis, et si un cador du php pouvait m'aider, ça serait très sympa.


J'explique mon problème :
Je voudrais contrôler le fait que le code postal saisie dans un formulaire HTML soit bien de la forme de 5 chiffres.

Pour cela, j'ai trouvé ce petit script qui fonctionne très bien à base d'expressions régulières :


Code :
1
2
3
4
5
6
7
8
 
if (eregi("^([0-9]{5})$", $cp))   {
 
}
 
else {
 
}

Seulement voila, ce que je cherche à faire, c'est de dire : "Si le code postal est différent de 5 chiffres, alors tu écris que le code postal n'est pas rentrer correctement".
(en gros, je voudrais directement accèder au "else" sans passer par le "if").

Car j'utilise déjà une fonction pour vérifier si certains paramètres du formulaire sont bien renseignés ...


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function verif_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message) {
if(!$nom || !$prenom || !$cp || !$email || !$message):
print("<h3>Merci de bien vouloir remplir les champs obligatoires.</h3>");
if (!$nom) {
print("Indiquez votre <b>Nom</b>.<br>"); }
if (!$prenom) {
print("Indiquez votre <b>Prénom</b>.<br>"); }
if (!$cp) {
print("Indiquez votre <b>Code postal</b>.<br>"); }
if (!$email) {
print("Indiquez votre <b>Email</b>.<br>"); }
if (!$message) {
print("Indiquez votre <b>Message</b>.<br>"); }
 
etc etc ...
FRANCKYIV est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2006, 23h16   #2
Rédacteur/Modérateur
 
Avatar de Michaël
 
Michaël Todorovic
Ingénieur systèmes et réseaux
Inscription : juillet 2003
Messages : 3 493
Détails du profil
Informations personnelles :
Nom : Michaël Todorovic
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2003
Messages : 3 493
Points : 5 899
Points : 5 899
salut,
tu as essayé avec la négation de eregi ?
Code :
1
2
3
4
5
6
7
if (!eregi("^([0-9]{5})$", $cp))   {
echo "le code postal est erroné";
}
 
else {
echo "tout va bien. on pourrait même le supprimer ce else maintenant :)";
}
Michaël est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2006, 23h37   #3
Nouveau Membre du Club
 
Avatar de FRANCKYIV
 
Homme Franck WLODARCZYK
Webmaster
Inscription : août 2003
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Franck WLODARCZYK
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2003
Messages : 75
Points : 31
Points : 31
Envoyer un message via AIM à FRANCKYIV Envoyer un message via MSN à FRANCKYIV Envoyer un message via Yahoo à FRANCKYIV Envoyer un message via Skype™ à FRANCKYIV
Citation:
Envoyé par Le_coyote
salut,
tu as essayé avec la négation de eregi ?
Code :
1
2
3
4
5
6
7
if (!eregi("^([0-9]{5})$", $cp))   {
echo "le code postal est erroné";
}
 
else {
echo "tout va bien. on pourrait même le supprimer ce else maintenant :)";
}

Ca fonctionne nickel ...

J'ai juste modifié mon if pour rajouter $cp et ça l'fait bien

Ce qui donne pour la fonction :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
function verif_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message) {
if(!$nom || !$prenom || !$cp || $cp || !$email || !$message):
print("<h3>Merci de bien vouloir remplir les champs obligatoires.</h3>");
if (!$nom) {
print("Indiquez votre <b>Nom</b>.<br>"); }
if (!$prenom) {
print("Indiquez votre <b>Prénom</b>.<br>"); }
if (!$cp) {
print("Indiquez votre <b>Code postal</b>.<br>"); }
if (!eregi("^([0-9]{5})$", $cp))   {
print("Indiquez un cp <b>correct</b>.<br>"); }
if (!$email) {
print("Indiquez votre <b>Email</b>.<br>"); }
if (!$message) {
print("Indiquez votre <b>Message</b>.<br>"); }
imprimer_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message);
else:
confirmer_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message);
endif;
}
FRANCKYIV est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2006, 23h53   #4
Nouveau Membre du Club
 
Avatar de FRANCKYIV
 
Homme Franck WLODARCZYK
Webmaster
Inscription : août 2003
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Franck WLODARCZYK
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2003
Messages : 75
Points : 31
Points : 31
Envoyer un message via AIM à FRANCKYIV Envoyer un message via MSN à FRANCKYIV Envoyer un message via Yahoo à FRANCKYIV Envoyer un message via Skype™ à FRANCKYIV

Rectification, voici la fonction qui fonctionne correctement par rapport à mon script global :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function verif_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message) {
if(!$nom || !$prenom || !$cp || !$email || !$message || (!eregi("^([0-9]{5})$", $cp))):
print("<h3>Merci de bien vouloir remplir les champs obligatoires.</h3>");
if (!$nom) {
print("Indiquez votre <b>Nom</b>.<br>"); }
if (!$prenom) {
print("Indiquez votre <b>Prénom</b>.<br>"); }
if (!$cp) {
print("Indiquez votre <b>Code postal</b>.<br>"); }
if (!$email) {
print("Indiquez votre <b>Email</b>.<br>"); }
if (!$message) {
print("Indiquez votre <b>Message</b>.<br>"); }
print("Votre code postal doit être <b>correct</b>.<br>");
imprimer_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message);
else:
confirmer_form($nom, $prenom, $adresse, $cp, $ville, $tel, $email, $message);
endif;
}
FRANCKYIV est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h35.


 
 
 
 
Partenaires

Hébergement Web