Problème formulaire de contact PHP
Résolu/Fermé
nob51
Messages postés
44
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
4 mars 2011
-
26 janv. 2011 à 18:05
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 26 janv. 2011 à 18:50
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 26 janv. 2011 à 18:50
A voir également:
- Problème formulaire de contact PHP
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire de reclamation instagram - Guide
- Créer un groupe whatsapp sans contact - Guide
- Bloquer contact whatsapp - Guide
5 réponses
seebz
Messages postés
38
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
6 mars 2011
28
26 janv. 2011 à 18:10
26 janv. 2011 à 18:10
Si tu utilise PHP >= 5.2.0, tu peux utiliser la fonction filter_var() :
filter_var($email, FILTER_VALIDATE_EMAIL)
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
26 janv. 2011 à 18:11
26 janv. 2011 à 18:11
Hello,
Peux-tu reformuler le problème : il faut que ce soit adresse.adresse@... ou au contraire tu veux que ça accepte nimportequoi@.... ??
Et as-tu marqué volontairement deux fois "adresse" ou bien cela peut-il être nimportequoi1.nimportequoi2@... ?
Parce que en effet, vu ta regexp tu as besoin de deux parties séparées par ., - ou _.
Peux-tu reformuler le problème : il faut que ce soit adresse.adresse@... ou au contraire tu veux que ça accepte nimportequoi@.... ??
Et as-tu marqué volontairement deux fois "adresse" ou bien cela peut-il être nimportequoi1.nimportequoi2@... ?
Parce que en effet, vu ta regexp tu as besoin de deux parties séparées par ., - ou _.
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
26 janv. 2011 à 18:24
26 janv. 2011 à 18:24
Alors pas besoin de séparer, une classe [a-zA-Z0-9.-_] suffit largement. Après tout une adresse peut contenir plusieurs points !
Pour info, tu oublies surement des cas d'adresse... Je te conseille de regarder le tutoriel PHP du site du zéro, dans lequel une regexp d'email est créée et elle est très efficace !
"^([a-zA-Z0-9_\.-]+)@([a-zA-Z0-9]+).([a-zA-Z]+){2,4}$"
Pour info, tu oublies surement des cas d'adresse... Je te conseille de regarder le tutoriel PHP du site du zéro, dans lequel une regexp d'email est créée et elle est très efficace !
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
26 janv. 2011 à 18:25
26 janv. 2011 à 18:25
PS : je ne sais plus s'il faut échapper le point dans un [ ]...
nob51
Messages postés
44
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
4 mars 2011
5
26 janv. 2011 à 18:29
26 janv. 2011 à 18:29
Mince on a du taper le message en même temps j'ai eu la même réflexion que toi.
Merci Mihawk pour ton aide ;)!
Merci Mihawk pour ton aide ;)!
nob51
Messages postés
44
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
4 mars 2011
5
Modifié par nob51 le 26/01/2011 à 18:19
Modifié par nob51 le 26/01/2011 à 18:19
Et bien je voudrais que l'on puisse mettre les deux types d'adresses, séparées ou non comme nimportequoi1.nimportequoi2@... ou nimportequoi1@
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nob51
Messages postés
44
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
4 mars 2011
5
26 janv. 2011 à 18:25
26 janv. 2011 à 18:25
Désolé du double post mais j'ai trouvé!
Il fallait supprimer le regexp qui comme tu me l'avais fait remarquer, demandait de séparer les partie par un point ou - ou underscore.
La solution :
Merci pour votre aide!
nob51
Il fallait supprimer le regexp qui comme tu me l'avais fait remarquer, demandait de séparer les partie par un point ou - ou underscore.
La solution :
elseif (!eregi("^([a-zA-Z0-9.]+)([a-zA-Z0-9]+){1,}@([a-zA-Z0-9]+).([a-zA-Z]+){2,4}$",$_POST["son_mail"])) { // On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières) $erreur="Votre adresse e-mail n'est pas valide...";
Merci pour votre aide!
nob51
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
26 janv. 2011 à 18:28
26 janv. 2011 à 18:28
Ouais mais alors là les tirets ne sont plus acceptés !!!
Quel intérêt de mettre une seconde fois la classe a-zA-Z0-9 ? C'est pas super propre !!
Quel intérêt de mettre une seconde fois la classe a-zA-Z0-9 ? C'est pas super propre !!
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
26 janv. 2011 à 18:40
26 janv. 2011 à 18:40
Je te l'ai mis dans ma réponse en vert tout en haut.
nob51
Messages postés
44
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
4 mars 2011
5
26 janv. 2011 à 18:43
26 janv. 2011 à 18:43
Bon ce coup ci c'est bon!!
J'ai utilisé la seconde classe pour faire office de séparateur avec les _ et -. La bonne solution :
J'ai utilisé la seconde classe pour faire office de séparateur avec les _ et -. La bonne solution :
elseif (!eregi("^([a-zA-Z0-9.]+)([-_a-zA-Z0-9]+){1,}@([a-zA-Z0-9]+).([a-zA-Z]+){2,4}$",$_POST["son_mail"])) { // On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières) $erreur="Votre adresse e-mail n'est pas valide...";
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
Modifié par Mihawk le 26/01/2011 à 18:51
Modifié par Mihawk le 26/01/2011 à 18:51
Je persiste à dire que c'est pas propre comme solution...
Deux classes quasiment identique mises l'un à la suite de l'autre (avec des + en plus) peuvent largement être regrouper.
De plus, quel intérêt de préciser {1,} à la fin alors que c'est exactement le rôle du + ?!!
Deux classes quasiment identique mises l'un à la suite de l'autre (avec des + en plus) peuvent largement être regrouper.
De plus, quel intérêt de préciser {1,} à la fin alors que c'est exactement le rôle du + ?!!
^([a-zA-Z0-9.]+)([-_a-zA-Z0-9]+){1,} = ^[a-zA-Z0-9.-_]+
Modifié par nob51 le 26/01/2011 à 18:15
26 janv. 2011 à 18:32