Возможно иногда вам понадобится скрипт для извлечения из электронной почты пользователя его логин и доменное имя сайта где был зарегистрирована почта. Как пример, если авторизация на сайте происходит с указанием электронной почты (вместо обычного логина) то в личном кабинете доменное имя из электронной почты можно убрать. Так-же если у вас на сайте ограничение на регистрацию с определенных почтовых сервисов, можно сообщить сразу об этом пользователю во время проверки вводимой электронной почты.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php /** ---------------------- ** Извлекаем имя пользователя и ** доменное имя из электронной почты ** Источник: live-code.ru ** ----------------------*/ // Функция для извлечения данных function EmailExtract($email, $item=0) { $Data = explode("@", $email); return @$Data[$item]; } // Пример электронной почты $email = "VaseaPupkin@live-code.ru"; // Выводим логин пользователя echo "Логин: ".EmailExtract($email, 0)." "; // Выводим доменное имя echo "Домен: ".EmailExtract($email, 1)." "; ?> |
Вот такой результат работы скрипта мы получим:
1 2 |
Логин: VaseaPupkin Домен: live-code.ru |
Пример: Отказ в регистрации по некоторым доменных имен электронной почты
Указанный ниже скрипт, разрешает пройти регистрацию только пользователям электронная почта которая зарегистрирована на одном из сайтов из массива $AllowEmailDomens. Если вы собираетесь принимать пользователей только с mail.ru, тогда в массиве $AllowEmailDomens укажите только mail.ru.
$AllowEmailDomens)) { echo "Ошибка: Вы не можете пройти регистрацию с электронной почтой на домене "
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php // Функция для извлечения данных function EmailExtract($email, $item=0) { $Data = explode("@", $email); return @$Data[$item]; } // Список доменов которым регистрация разрешена $AllowEmailDomens = array("mail.ru", "rambler.ru", "yandex.ru"); // Пример электронной почты $email = "vlad@mail.ru"; // Проверяем если пользователь может пройти регистрацию if(!in_array( EmailExtract($email, $item=1) , $AllowEmailDomens)) { echo "Ошибка: Вы не можете пройти регистрацию с электронной почтой на домене ".EmailExtract($email, $item=1); } else { echo "Удачной регистрации!"; } ?> |