Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как сделать проверку Email на свободность при регистрации?

Как сделать проверку Email на свободность при регистрации?


     19.07.2014    Общие вопросы по PHP, MySQL    1996

вопрос
Всем привет. Хочу сделать при регистрации проверку свободности Email на подобии проверки логина. То есть ввел Email убрал курсор с поля и прошла автоматическая проверка наличия Email в БД. Предыстория в том что я например зарегистрирован на множестве сайтов и очень часто забываю что на сайте уже зарегистрирован и пытаюсь зарегистрировать новый аккаунт, после чего мне пишет что мой имейл уже зарегистрирован и я иду восстанавливать пароль.
Вывод сделать такой же как и при проверке логина. Может кто знает как это реализовать ?

Ответил: vitnet


1.0 registration.tpl
        <tr>
            <td class="label">Ваш E-Mail:<span class="impot">*</span></td>
            <td><input type="text" name="email" id="email" class="f_input" /> <input class="bbcodes" style="height: 22px; font-size: 11px;" title="Проверить доступность E-Mail для регистрации" onclick="CheckEmail(); return false;" type="button" value="Проверить E-Mail" />
            <div id='result-email'></div></td>
        </tr>

2.0 engine/classes/js/dle_js.js
найти
function CheckLogin(){var a=document.getElementById("name").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{name:a},function(a){HideLoading("");$("#result-registration").html(a)});return!1}

добавить ниже
function CheckEmail(){var a=document.getElementById("email").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{email:a},function(a){HideLoading("");$("#result-email").html(a)});return!1}

3.0 engine/ajax/registration.php

Комментарии пользователей (17)

FastFud
50

1599 | 588

FastFud - 19 июля 2014 00:41 - Юзер

***Комментарий удален***

Julius123
61 | 6

Julius123 - 19 июля 2014 00:42 - Юзер

Один способ
Второй способ

Я не пойму как эти скрипты проверяют наличие E-Mail в БД. Они проверяют лишь корректность введенного имейла. Зачем вы нажимаете ответ если не поняли вопроса?

Julius123
61 | 6

Julius123 - 19 июля 2014 00:44 - Юзер

FastFud,
Вы издеваетесь?! Читайте пожалуйста мое сообщение выше!

FastFud
50

1599 | 588

FastFud - 19 июля 2014 00:47 - Юзер

Да, моя вина, не понял вопрос, прошу прощения.

P.S - Если сделать так как вы хотите(может ошибаюсь, если так то поправьте) то будет нагрузка, проверок будет много.

Julius123
61 | 6

Julius123 - 19 июля 2014 00:51 - Юзер

FastFud,
Я думаю 1 запрос к БД при регистрации это не слишком много.

FastFud
50

1599 | 588

FastFud - 19 июля 2014 00:53 - Юзер

Julius123, например, пользователей много, при регистрации если e-mail уже есть в базе, пользователь будет дальше проверять и так пока не найдет свободный.

1 запрос при каждой проверке с 1 пользователя. 15 проверок = 15 запросов будет с 1 пользователя только, а если одновременно проверят несколько пользователей?)

Julius123
61 | 6

Julius123 - 19 июля 2014 00:55 - Юзер

FastFud,
я не очень силен технически но разве нельзя просто сделать запрос есть ли в БД в столбике email совпадения с введенным имейлом и вывести сообщение что этот имейл уже используется если найдено совпадение?

FastFud
50

1599 | 588

FastFud - 19 июля 2014 01:10 - Юзер

***Комментарий удален***

Gopr
10

494 | 164

Gopr - 19 июля 2014 01:16 - Юзер

Не по теме, но зачем скрипты когда есть html5?
<input type="email">

FastFud
50

1599 | 588

FastFud - 19 июля 2014 01:21 - Юзер

html5 - Это не выход

FastFud
50

1599 | 588

FastFud - 19 июля 2014 01:10 - Юзер

Не думаю )

D0Gmatist
225

794 | 281

D0Gmatist - 19 июля 2014 01:12 - Местный

Цитата: FastFud
Можно еще и так

Цитата: FastFud
Один способ
Второй способ

вы приводите примеры валидаторов емайл а человеку нужна реализация идеи проверки наличия емайла в БД

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

FastFud
50

1599 | 588

FastFud - 19 июля 2014 01:14 - Юзер

Да, моя вина, не понял вопрос, прошу прощения.

Julius123
61 | 6

Julius123 - 19 июля 2014 01:18 - Юзер

D0Gmatist,
первый человек который меня понимает с первого раза )

Julius123
61 | 6

Julius123 - 19 июля 2014 14:50 - Юзер

3.0 engine/ajax/registration.php

Большое спасибо за реализацию) А нельзя ли как то пошагово сделать изменения вместо замены всего кода в registration.php? у меня этот файл измененный и восстанавливать не вариант.

vitnet
218

2172 | 930

vitnet - 19 июля 2014 15:53 - Эксперт


Julius123
61 | 6

Julius123 - 19 июля 2014 19:44 - Юзер

vitnet,
большое спасибо, попробую установить

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы