comment vérifier que l'adresse e-mail soit valide ?

Eléphanteau du PHP | 41 Messages

15 sept. 2010, 23:28

Bonjour,

je voudrais placer une fonction qui vérifie si l'adresse e-mail entré par l'utilisateur lors de son inscription soit valide.

c’est quoi cette commande et comment je la place

(Genre une commande qui vérifie si cette adresse e-mail comporte un @hotmail.com a la fin etc. Pas un truque qui dit si elle existe déjà)

Merci d'avance :D

Eléphant du PHP | 256 Messages

15 sept. 2010, 23:48

Bonsoir,

Je me sers d'une expression régulière pour vérifier la cohérence d'une adresse électronique...
if (!(preg_match('/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i', $email)))
{
echo 'Adresse invalide';
}
Cordialement,

Gaspard

Eléphanteau du PHP | 41 Messages

15 sept. 2010, 23:51

merci beaucoup, je vais aller tester mais a quoi sert tout le charabia après le "match" ?

ViPHP
ViPHP | 5462 Messages

16 sept. 2010, 00:37

merci beaucoup, je vais aller tester mais a quoi sert tout le charabia après le "match" ?
pas a grand chose si t'as au moins php 5.2, surtout que l'expression n'est pas bonne
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{

}

Eléphanteau du PHP | 41 Messages

16 sept. 2010, 00:58

ok merci mais pourriez-vous aussi m'expliquer qu'est-ce qui fait quoi je veux aussi apprendre !

ViPHP
ViPHP | 5462 Messages

16 sept. 2010, 01:20

ok merci mais pourriez-vous aussi m'expliquer qu'est-ce qui fait quoi je veux aussi apprendre !
preg_match permet de vérifier une chaine avec expression rationnel, c'est un peu long a expliquer, sur ce site tu trouvera des infos : http://www.expreg.com/symbole.php

filter_var vérifie une chaine suivant un filter ici : l'email (il utilise aussi une expression rationnel pour valide ca) : http://www.php.net/manual/fr/intro.filter.php

:wink:

bon après ca verfie que la syntax, faire [email protected] sera valide

Eléphanteau du PHP | 41 Messages

16 sept. 2010, 01:31

Merci :D

ViPHP
AB
ViPHP | 5818 Messages

16 sept. 2010, 03:39

Bon sinon faut quand même se rappeler que cela vérifie simplement que la syntaxe de l'email est valide, non pas que l'email lui-même est valide (petite précision au cas où).

Eléphanteau du PHP | 41 Messages

16 sept. 2010, 03:44

Merci AB mais juste vérifier la syntaxe c'est correct ^.^

ViPHP
ViPHP | 5462 Messages

16 sept. 2010, 04:12

Bon sinon faut quand même se rappeler que cela vérifie simplement que la syntaxe de l'email est valide, non pas que l'email lui-même est valide (petite précision au cas où).
bon après ca verfie que la syntax, faire [email protected] sera valide
:wink:

Eléphant du PHP | 256 Messages

16 sept. 2010, 11:02

Bonjour,

Mea culpa...

Désolé, je ne voulais pas induire en erreur notre ami Dexon.

Mon expression régulière, erronée donc, m'a donné satisfaction jusqu'à présent. Après, vous m'objecterez que ceux dont les adresses ont été rejetées n'ont pas pu utiliser mes formulaires et je n'en ai jamais rien su.

Maintenant, je suis habité par le doute pour mes autres vérifications. :mrgreen:

Néanmoins, je retiens le (filter_var($email, FILTER_VALIDATE_EMAIL)), fonction que je ne connaissais pas, simple et belle. C'est tout l'intérêt de ce forum de s'informer.

Cordialement,

Gaspard

ViPHP
ViPHP | 5462 Messages

16 sept. 2010, 16:42

Bonjour,

Mea culpa...

Désolé, je ne voulais pas induire en erreur notre ami Dexon.

Mon expression régulière, erronée donc, m'a donné satisfaction jusqu'à présent. Après, vous m'objecterez que ceux dont les adresses ont été rejetées n'ont pas pu utiliser mes formulaires et je n'en ai jamais rien su.

Maintenant, je suis habité par le doute pour mes autres vérifications. :mrgreen:

Néanmoins, je retiens le (filter_var($email, FILTER_VALIDATE_EMAIL)), fonction que je ne connaissais pas, simple et belle. C'est tout l'intérêt de ce forum de s'informer.

Cordialement,

Gaspard
derrière FILTER_VALIDATE_EMAIL y'a une expression relationnel aussi, pour un mail c'est assez compliquer, d'ailleur quasiment a chaque build de php il la change
tu peu la trouver ici : http://svn.php.net/repository/php/php-s ... _filters.c (ligne 500) :wink:

ViPHP
AB
ViPHP | 5818 Messages

16 sept. 2010, 16:56

Néanmoins, je retiens le (filter_var($email, FILTER_VALIDATE_EMAIL)), fonction que je ne connaissais pas, simple et belle. C'est tout l'intérêt de ce forum de s'informer.
Et puis l'intérêt d'utiliser une fonction native c'est qu'on peux supposer qu'elle sera mise à jour en fonction des besoins avec les versions suivantes de php. Alors qu'en utilisant une fonction perso, c'est à toi de te tenir au courant des évolutions et de mettre ta fonction à jour... :wink:

ViPHP
AB
ViPHP | 5818 Messages

16 sept. 2010, 17:00

Bon sinon faut quand même se rappeler que cela vérifie simplement que la syntaxe de l'email est valide, non pas que l'email lui-même est valide (petite précision au cas où).
bon après ca verfie que la syntax, faire [email protected] sera valide
:wink:
Pour être clair, manquait juste un "uniquement" ou un "simplement" ou ... un autre mot.

"bon après ca verifie UNIQUEMENT que la syntaxe, faire [email protected] sera valide"
:wink: