Verification de formulaire de contact

Signaler
Messages postés
7
Date d'inscription
samedi 23 mai 2009
Statut
Membre
Dernière intervention
29 septembre 2011
-
Messages postés
17
Date d'inscription
samedi 16 décembre 2006
Statut
Membre
Dernière intervention
26 décembre 2009
-
mnou
Bonjour j un problème lié au formulaire de contact c à dire la vérification des champs de contact :






Email*:,

,

----

Sujet:,
,

----

Message: ,

,

----

Nom:,

,
----

Prénom:,
,

----
Pays:,
,

----

Commentaire: ,

----

,

----

tel:,

,











(*) champs obligatoires






j'utilise le script pour le vérification
tous ça marche mais le champs tel ne marche pas .Le code script ce dessous:


if(!ereg("[^[0-9]{5}]",$tel))
{
echo "alert('Le champ telephone est invalide'); ";
}

merci bien

5 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

La regex est incorrecte.
L'utilisation de ereg (POSIX) est déprécié, utilise les PCRE (preg_match, preg_replace, etc ...)

Un truc comme ça devrait convenir :
if (0 == preg_match('`^(0[1-68])(?:[ _.-]?(\d{2})){4}$`')) {
  echo ...

La regex n'est pas parfaite dans le sens où elle ne prends pas l'indicatif des numéros (33 0344232425)


Cordialement,


Kohntark -
Messages postés
7
Date d'inscription
samedi 23 mai 2009
Statut
Membre
Dernière intervention
29 septembre 2011

mnou
s'insrement je n'a pas compris ton code je suis encore débutant mais j remplace le contenu de ereg par if(!ereg("[0-9éçèêëïîôà-]",$tel)) et ça marche mais mon probléme ce moment ce qui onclique sur le bouuton valider avec les champs de forulaire vide c'est normale qui'il affiche :un message d'alert
echo "<script language=javaScript>alert('Le champ E_mail est vide ou comporte une valeur invalide, verifier votre données'); </script>";
puisqu'il est un champs obligatoire mais le truc qu'il affiche aussi un message d'erreur:
echo "<script language=javaScript>alert('Le champ telephone est invalide'); </script>";
j'éspere bien que vous me commprener
merçi encore
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
j'éspere bien que vous me commprener

Heu, pour le coup très difficilement.
J'entends bien que le français ne soit pas ta langue maternelle, mais tu devrais au moins te relire, aérer ton texte, utiliser les balises codes de la textBox () ...


mais j remplace le contenu de ereg par if(!ereg("[0-9éçèêëïîôà-]",$tel)) et ça marche

Peux tu m'expliquer à quoi ça sert que je passe 1/4 d'heure à écrire une regex alors que tu n'en tiens absolument pas compte ?
Qui plus est :
Je t'informe que ereg ne doit plus être utilisé et qu'il faut utiliser preg_replace. As tu fais l'effort de te renseigner là dessus ?
Penses tu que "parce que ça marche" c'est forcement une bonne manière de faire ?

Bref, si c'est encore pour parler dans le vide à quoi bon.

Bonne soirée,


Kohntark -
Messages postés
7
Date d'inscription
samedi 23 mai 2009
Statut
Membre
Dernière intervention
29 septembre 2011

mnou
j suis trés désolé
Bien sure j fait un effort mais je dit que je suis débutant,
je m'excuse encore.
Messages postés
17
Date d'inscription
samedi 16 décembre 2006
Statut
Membre
Dernière intervention
26 décembre 2009

Hornet bzz 

Une Regex un poil différente pour le numero de tel si tu veux aussi prendre en compte les numéros en 09 (comme Free par exemple) :

En admettant que tu récupères de ton formulaire au préalable le numéro de téléphone de la façon suivante :
$telephone = htmlspecialchars($_POST['telephone']);

Après tu peux vérifier le format de la façon suivante :
if (preg_match("#^0[1-689]([-. ]?[0-9]{2}){4}$#", $telephone)) {
echo "format correct du numéro";
}