PHP: Как нам сделать сравнение по домену и доменной части электронной почты

php-img-sm0k3-hq

Занимался я одним проектиком и нужно было сделать человеку функцию сравнения email’а с доменом на PHP. То есть, сравнивается доменная зона email’а (прим.: test@test.com с доменом test.com, нам надо сравнить @test.com и test.com). Пришел я к весьма простой и удобной вещи в PHP: explode и деление на части адреса электронной почты (я отделил test @ и test.com).

А теперь в вкратце как это делалось:
база данных у нас одна, таблицы две — первая с пользователями, вторая — с доменами. В таблице с пользователями, конечно же лежат email адреса, во второй — доменные имена и нам надо это все сравнивать.

1) Обрезаем email‘ы:
Сразу мы забиваем под email’ы переменную (мне так проще) —
$mail = mysql_query(‘SELECT emails FROM users’); Если результатов будет получается много, то надо будет mysql_fetch_array(); еще использовать, но мы пока ориентируемся на 1 результат.

2) Далее, добавляем переменную которая будет отвечать за разделение (делимитер) —
$part = explode(‘@’, «$mail»); (тут у нас получается: разделяем все email’ы по делимитеру @, отвечает за это переменная $part).

3) Теперь выводим результат, что отделили — по частям:
$domain = «@» . $parts[1];  — $domain это наши домены который получим из почт, а второй кусок после =, это значит что выводится часть1 (т.е. домены) после делимитера @. Далее берем просто переменную $mail и в нашем запросем в базу данных уже уже сравниваем что б domain = $mail было, если условие совпадает — скрипт работает, иначе die().

Смотрите так же   Сводки за последнее время: обновление eXploit.By, запуск английской версии, работа над ошибками и многое другое

Может быть интересно:

Добавьте комментарий