Pour l’anecdote, il n’y a pas d’erreur dans l’expression régulière.
Dans le test ci-dessous, le “/” est aussi le délimiteur choisi pour l’expression.
Alors que dans l’instruction PHP d’origine :
if (!preg_match(‹ #+(@([-_0-9a-z]+.)*[-_0-9a-z]+)$#i ›, $adresse))
ce sont des “#”, donc pas de problème.
From: gornety
Sent: Monday, October 09, 2017 7:24 PM
To: spip@rezo.net
Subject: Re: [Spip] mot de passe oublié (resolu)
Le 09/10/2017 à 18:11, gornety a écrit :
Le 09/10/2017 à 16:58, gornety a écrit :
salut
en spip 3.1.6
je rencontre cette difficulté :
des adresses mail sous la forme
xx.xxxx-xxx@xxx.fr
c’est à dire des adresses comprenant
caractères point caracteres tiret caracteres arobase domaine
sont systématiquement refusés par le formulaire mot de passe oublié
avec le message d’errreur
Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.
alors que les e-mails sont bien attribués à des visiteurs du site
où donc dois-je chercher pour résoudre cette erreur ?
cordialement
--
Yanic Gornet - 06 08 60 46 81
dans le fichier ecrire/inc/filtre.php, il y a le filtre email_valide() à la ligne 3340
qui comprend ce test
// RFC 822
if (!preg_match(‹ #+(@([-_0-9a-z]+.)*[-_0-9a-z]+)$#i ›, $adresse))
un tester d’expression régulière me dit :
![]()
qu’en pensent les spécialistes ?
au delà de la curiosité décrite ci-dessus,
(les implémentations de regex peuvent varier sur des détails de la sorte)
j’ai résolu la difficulté que j’ai rencontré :
quand on utilise cette fonction « mot de passe oublié »
il faut obligatoirement que le compte soit valide (qu’il ne soit pas à la poubelle)
mais aussi qu’il comprenne déjà un mot de passe
sinon, la fonction refuse d’envoyer le mail avec le ticket
--
Yanic Gornet - 06 08 60 46 81
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html
Infos : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
Irc : de l’aide à toute heure : http://spip.net/irc