6 Регистрация
yurec edited this page 2023-10-29 16:47:22 +05:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Регистрация осуществляется через ajax по пути /act/login с передачей следующих POST параметров:

email - почта пользователя

pwd и pwd2 - для сверки паролей

capcha - проверяем код проверки

Возвращаемые коды ошибок:

1 - Не совпал проверочный код

2 - Не совпали введенные пароли

3 - Пользователь с этой почтой уже зарегистрирован

4 - Пользователь не указал электронную почту

5 - Скрываем ошибку

0 - Регистрация прошла успешно

Особенности регистрации - если база пользователей пуста, автоматически создается пользователь с административными правами, иначе - с пользовательскими.

Соответственно во фронте JS должен адекватно обработать коды ошибок.

В html-шаблоне регистрации должен быть

<div class="alert hidden" id="regResult" role="alert"></div>

Куда будут писаться ошибки регистрации и успешная регистрация

Все фронт-энд и бэк-энд функции проверки заполнения обращаются сюда для вывода результата:

/*
    0 - нет ошибки
    1 - не совпадает капча
    2 - не совпадают пароли
    3 - юзер уже зарегистрирован
    4 - не введен адрес почты
    5 - скрыть ошибку
*/
function showErr_v2(data) {
    $("#regResult").addClass("hidden");
    $("#regResult").removeClass("alert-danger");
    $("#regResult").removeClass("alert-success");
    switch (data) {
        case '0':
            $("#regResult").text("Вы успешно зарегистрированы!");
            $("#alert-success").addClass("alert-success");
            $("#regResult").removeClass("hidden");
            break;
        case '1':
            $("#regResult").text("Не подошел проверочный код!");
            $("#regResult").addClass("alert-danger");
            $("#regResult").removeClass("hidden");
            break;
        case '2':  // if (x === 'value2')
            $("#regResult").text("Пароли не совпадают!");
            $("#regResult").addClass("alert-danger");
            $("#regResult").removeClass("hidden");
            break;
        case '3':
            $("#regResult").text("Пользователь с такой почтой уже зарегистрирован");
            $("#regResult").addClass("alert-danger");
            $("#regResult").removeClass("hidden");
            break;
        case '4':
            $("#regResult").text("Вы не указали электронную почту");
            $("#regResult").addClass("alert-danger");
            $("#regResult").removeClass("hidden");
            break;
        case '5'://Скрываем ошибки
            $("#regResult").addClass("hidden");
            break;
    }
}