Добро пожаловать, Гость!
Войти
Зарегистрироваться
::
+ Добавить ссылку через биллинг
::
+ Добавить ссылку анонимно
Проверка Email - Полезный php код №32
Вернуться к коду
Код:
function CheckEmail($email) { #база доменов, которые являются зеркалами $baseEmail = array('yandex.com', 'yandex.ua', 'yandex.kz', 'yandex.by', 'ya.ru', 'yandex.ru'); #обрезаем E-mail до символа @ $emailShort = explode('@', $email); #выбираем имя почтового ящика $nameEmail = $emailShort[0]; #выбираем домен и зону $domenAndZona = $emailShort[1]; #ищем домен и зону в нашей базе $baseEmail if (in_array($domenAndZona, $baseEmail)) { #если нашелся такой домен с зоной в базе, то проверяем, #не регистрировался ли уже кто-то с этим email #кол-во совпадений $match = 0; #перебираем базу до конца foreach ($baseEmail as $domenZona) { #формируем email $newEmail = $nameEmail.'@'.$domenZona; #производим запрос в базу (поиск совпадений) if (mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `email` = '$newEmail' ")) > 0) #если нашли совпадение, то увеличиваем кол-во совпадений $match++; } #если уже регистрировались с этим именем почты, то выдаем false, иначе true if ($match) return false; else return true; #если домен не найден в $baseEmail, то выполняем другие действия... } else { #вешаем другие проверки... return true; } } Пример использования: $x = CheckEmail('wapmister@yandex.by'); if ($x) echo 'Такого Email не зарегистрировано.'; else echo 'Такой Email уже зарегистрирован!'; P.S. Для тех, кто не понял, функция возвращает true - в том случае, если все хорошо, т.е. если такого email нет в нашей базе($baseEmail), ну и соответственно возвращает false, в случае, если такой email там есть.
DCMS-Social.ru - движок социальной сети, вап и веб мастерская, файло-обменник и форум.
Статистика DCMS-Social.ru: Пользователей -
14967
, тем на форуме -
30292
, сообщений -
298887