J'essaie de créer un script qui n'exécutera ses actions que si l'adresse e-mail que l'utilisateur saisit provient d'un domaine spécifique. J'ai créé une regex qui semble fonctionner quand on la teste via l'utilitaire regex, mais lorsqu'elle est utilisée dans mon script PHP, elle me dit que les emails valides ne sont pas valides. Dans ce cas, je veux que tout e-mail provenant de @ secondgearsoftware.com, @ secondgearllc.com ou asia.secondgearsoftware.com fasse écho au succès et que tous les autres soient rejetés.N'exécuter un script que si un email spécifique provient d'un domaine spécifique
$pattern = '/\b[A-Z0-9\._%+-][email protected]((secondgearsoftware|secondgearllc|euro\.secondgearsoftware|asia\.secondgearsoftware)+\.)+com/';
$email = urldecode($_POST['email']);
if (preg_match($pattern, $email))
{
echo 'success';
}
else
{
echo 'opposite success';
}
Je ne suis pas vraiment sûr de ce qui est futzed avec le modèle. Toute aide serait appréciée.
propre Beaucoup. Merci! la seule chose est que vos variables i doivent être $ i, non? –
Ceci est faux. Cela permettra toute composition bizarre des noms de domaine, même dans la partie du nom d'utilisateur. Ne l'utilisez pas si vous voulez une protection réelle. – BYK
@Justin: Trop de programmation en C de ma part. Utilisez $ i ofcourse;) @BYK: Si vous entrez [email protected], stristr retournera le tout, et la comparaison == retournera false. Le seul cas où il renvoie true est si la dernière partie de l'adresse de messagerie est la même que celle du domaine, ce qui correspond à ce que l'utilisateur a demandé. –