Vérifier qu'une adresse mail entrée appartient @exemple.com
Posté : 11 nov. 2005, 16:05
Bonjour à tous,
J'ai très peu de connaissances en PHP et les seules connaissances que j'ai ont été acquises en lisant des pages codées en PHP donc ca va pas très loin
Je travaille actuellement sur un projet de site sous PHPMaximus (une évolution de Nuke) que beaucoup d'entre vous doivent connaître. Malheureusement, les codeurs de ce portail sont en vacances et je me suis dit que vous pourriez m'aider (même si je sais que le codage en PHP est assez spécifique
C'est pour cela que je vais vous poster la fonction sur laquel j'aimerai apporter la modif, pour que vous compreniez la logique, ainsi qu'un début de réponse qui m'a été donnée sur le site "officiel"
En gros, sur mon site, les gens devront s'incrire en tant que membres afin de pouvoir accéder aux rubriques principales. Pour l'inscription, un mail est demandé au futur membre pour valider l'inscription (jusque là, tout va bien
) et il y a une fonction qui permet de vérifier que le mail entré n'existe pas déjà dans la BD, ne contient pas de caractères interdits etc... Moi j'aimerai que les membres soit obligés de rentrer un mail en @exemple.com pour pouvoir mieux gérer les membres (leur e-mail d'étudiant de l'école don je fais partie).
Voici donc la fonction concernée :
Voici ce que m'a répondu un forumeurs sur le site officiel :
Cette réponse permets d'avoir quelques éléments mais je pense qu'il faut retravailler dessus car la fonction que j'ai donné plus haut n'est pas prise en compte et ce script est indépendant et ne permet que de dire si l'adresse est bonne ou pas (enfin ca c'est ce que j'en ai déduit en le lisant
).
Qu'en pensez-vous ?
Merci d'avance
A+
J'ai très peu de connaissances en PHP et les seules connaissances que j'ai ont été acquises en lisant des pages codées en PHP donc ca va pas très loin
Je travaille actuellement sur un projet de site sous PHPMaximus (une évolution de Nuke) que beaucoup d'entre vous doivent connaître. Malheureusement, les codeurs de ce portail sont en vacances et je me suis dit que vous pourriez m'aider (même si je sais que le codage en PHP est assez spécifique
C'est pour cela que je vais vous poster la fonction sur laquel j'aimerai apporter la modif, pour que vous compreniez la logique, ainsi qu'un début de réponse qui m'a été donnée sur le site "officiel"
En gros, sur mon site, les gens devront s'incrire en tant que membres afin de pouvoir accéder aux rubriques principales. Pour l'inscription, un mail est demandé au futur membre pour valider l'inscription (jusque là, tout va bien
Voici donc la fonction concernée :
function ya_mailCheck($user_email) {
global $stop, $user_prefix, $db, $ya_config;
$user_email = strtolower($user_email);
if ((!$user_email) || ($user_email=="") || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$user_email))) $stop = "<center>"._ERRORINVIP."</center><br>";
if ($ya_config['bad_mail'] > "") {
$BadMailList = explode("\r\n",$ya_config['bad_mail']);
for ($i=0; $i < count($BadMailList); $i++) {
if (eregi($BadMailList[$i], $user_email)) $stop = "<center>"._IPBLOCKED." <b>".$BadMailList[$i]."</b></center><br>";
}
}
if (strrpos($user_email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='".md5($user_email)."'")) > 0) $stop = "<center>"._EMAILNOTUSABLE."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
return($stop);
}
J'aimerai donc insérer dans cette fonction un script qui déclencherait une erreur lorsque l'e-mail n'est pas en @exemple.com .Voici ce que m'a répondu un forumeurs sur le site officiel :
Code : Tout sélectionner
$adresse_mail = "[email protected]";
$max_clip = explode("@", $adresse_mail);
if($max_clip[1] == "exemple.com")
{
echo "ok le nom de domaine est correct";
} else
{
echo "pas correct";
}Qu'en pensez-vous ?
Merci d'avance
A+
