Необходима доработать существующую или создать новую форму регистрации пользователей на joomla 3. Верстка в Bootstrap 5

1. Обязательные для заполнения поля:

1.1. input id="add-username" name="username" (с валидацией на введение от 2 до 20 символов)

1.2. input id="add-useremail" name="email" (с валидацией и проверкой на уже существующие в базе данных)

2. Необязательные поля

2.1. input id="add-userlastname" name="userlastname"(таблица #__fields_values field_id 1). Если ничего не введено - заполняем их пустой строкой.

2.2. input id="add-phone" name="phone" (таблица #__fields_values field_id 5). Для этого поля есть pattern="^\+\d{2}\(\d{3}\)\d{3}[-]\d{2}[-]\d{2}$" , маска, и в случае его заполнения должна проходить валидация и проверка телефона на наличие уже существующих в базе данных. Если телефон не введен - ничего не делается и в базу пишутся пустые значения (заполняем их пустой строкой).

Маска должна работать для разнообразного ввода телефона

+380000000000

+38(000)000-00-00

+38(000)000 00 00

+380 00 000 00 00

+38 000 000 00 00

2.3. input id="add-referrer" name="referrer" (таблица #__affiliate_dprint_accounts столбец referrer_id). Таблица имеет следующую структуру

CREATE TABLE IF NOT EXISTS `#__affiliate_dprint_accounts` (

`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

`user_id` int(11) NOT NULL,

`referrer_id` int(11) NOT NULL,

`reg_url` varchar(150) NOT NULL,

`entrance_url` varchar(150) NOT NULL,

`page_url` varchar(150) NOT NULL,

`transitions` int(11) NOT NULL DEFAULT '1'

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

где:

user_id - id нового пользователя (который в данный момент проходит регистрацию)

reg_url, entrance_url, page_url - страница регистрации (захватить )

transitions - равно 0

2.4. textarea id="add-comment" name="comment" (таблица #__fields_values field_id 12). Если ничего не введено - заполняем их пустой строкой.

2.5. select id="add-lead" name="lead" (таблица #__fields_values field_id 26). Если ничего не введено - заполняем их пустой строкой.

2.6. input id="add-folder" name="folder" (таблица #__fields_values field_id 27). Если ничего не введено - заполняем их пустой строкой.

2.7. input id="add-smorganization" name="organization" (таблица #__printcrm_org_users столбец title). Если ничего не введено - заполняем их пустой строкой.

2.8. input id="add-organization" name="organization" (таблица #__printcrm_org_users столбец org). Если ничего не введено - заполняем их пустой строкой.

2.9. input id="add-code" name="code" (таблица #__printcrm_org_users столбец code). Если ничего не введено - заполняем их пустой строкой.

2.10. input id="add-address" name="address" (таблица #__printcrm_org_users столбец adds). Если ничего не введено - заполняем их пустой строкой.

2.11. input id="add-account" name="account" (таблица #__printcrm_org_users столбец bank). Если ничего не введено - заполняем их пустой строкой.

Таблица имеет следующую структуру

CREATE TABLE IF NOT EXISTS `#__printcrm_org_users` (

`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

`client_id` int(11) NOT NULL,

`title` varchar(128) NOT NULL,

`org` varchar(255) NOT NULL,

`code` varchar(255) NOT NULL,

`adds` varchar(255) NOT NULL,

`bank` varchar(255) NOT NULL,

`state` int(11) NOT NULL DEFAULT '1'

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

где:

client_id - id нового пользователя (который в данный момент проходит регистрацию)

transitions - равно 1

3.1. button id="reset_form" должна очищать форму от введенных данных и валидации (сообщениях и присвоенных классах)

3.2. button id="add-user" type="submit" onclick="AjaxUserRegistration()"

Принцип работы формы:

4.1. Регистрация пользователя должна производиться Ajax без переходов на другие страницы, залогинивания нового пользователя, перезагрузки текущей страницы, отправки писем о регистрации на введенный адрес электронной почты.

4.2. Перед регистрацией проверяется введенный адрес электронной почты на уже существующий в базе пользователей, а также если введен номер телефона - проверяем его тоже. Если найдено совпадение - вывести предупреждение и отключить кнопку id="add-user", а также над формой в

вывести сообщение

'Цей email вже є у базі даних!'

если совпал телефон

'Цей номер телефону вже є у базі даних!'

если было совпадение и email и телефона - вывести 2 сообщения через

4.3. Таблица #__users заполняется следующим образом

name - input id="add-username" name="username"

username - input id="add-useremail" name="email"

email - input id="add-useremail" name="email"

password - рандомный из 8 знаков JUserHelper::genRandomPassword(8)

registerDate - текущая дата

4.4. Присваиваем пользователю 2 группу пользователей 'groups' => array( 2 )

4.5. Для выполнения п.п. 2.3

$query2 = $db->getQuery(true);

$columns = array('user_id', 'referrer_id', 'reg_url', 'entrance_url', 'page_url', 'transitions');

if ($_SERVER['HTTP_REFERER']) {

$HttpReferer = $_SERVER['HTTP_REFERER'];

} else {

$HttpReferer = '';

}

// Данные нового пользователя в таблицу __affiliate_dprint_accounts

$userId = array($db->quote($user->id), $db->quote($_POST['_referrer']), $db->quote($HttpReferer), $db->quote($HttpReferer), $db->quote($HttpReferer), 0);

4.6. Для полей п.п. 1.1. и 2.1. сделать удаление любых не буквенных символов при вводе (или вставки скопированного текста). К примеру копирование и вставка имени из вайбера.

4.7. После регистрации нового пользователя в

вывести сообщение

'Клієнта додано до бази даних.'

2 года назад
guest_15912599135732
5 лет в сервисе
Был
2 года назад

Заявки фрилансеров

Ростислав
 
19 лет
3 года в сервисе
Был
2 года назад
2 года назад
  • Похожие заказы

  • $499

    Разработайте скрипт на Python, который будет отправлять GET/POST-запросы к сайту для проверки адресов Ethereum на наличие AirDrops. Сайт блокирует доступ при использовании стандартных запросов, поэтому необходимо найти способ обойти эту защиту без применения Selenium или браузеров.

    Закрыт
    2 года назад
  • Разработайте веб-приложение, позволяющее вводить данные о графе (количество вершин, рёбер, их пропускную способность) и визуализировать алгоритм Диницы. Приложение должно пошагово демонстрировать действия алгоритма на графе. Используйте HTML и JavaScript для реализации.

    Закрыт
    2 года назад
  • $900

    Требуется разработать красивый сайт для предстоящего мероприятия. Сайт должен включать ссылки на социальные сети и быть оформлен в стиле самого мероприятия. Ожидается креативный подход к дизайну и функциональности.

    Закрыт
    2 года назад
  • Ищется фрилансер для копирования сайта uzpopka.com. Необходимо приобрести готовые скрипты и шаблоны, а также настроить все функции и параметры сайта. Ожидаются предложения по выполнению задачи.

    Закрыт
    2 года назад
  • $1000

    Требуется разработчик для доработки веб-приложения на C# ASP.NET. Необходимо развернуть часть кода на MS Azure и выполнить список задач. Объем проекта составляет около 80 нормочасов с оплатой до 1000 USD. Оценка может быть обсуждена с исполнителем.

    Закрыт
    2 года назад
  • Создайте информационную систему для ведения архивного дела студентов, используя технологии HTML и Python. Система должна обеспечивать удобное управление данными студентов и их архивами.

    Закрыт
    2 года назад
  • Разработайте HTML-калькулятор для нумеролога, основываясь на предоставленных примерах. Код нужен для интеграции на сайт на Флексби. Важно, чтобы калькулятор не содержал сторонних ссылок.

    Закрыт
    2 года назад
  • Требуется опытный PHP-программист для разработки класса-плагина, который будет интегрироваться с несколькими сервисами: whazzup, avito, whatsapp, tg, email, VK и Instagram. Каждый сервис будет оцениваться на бюджет и сроки отдельно, работа начнется с whazzup.

    Закрыт
    2 года назад
  • Требуется установка капчи на лендинг. Задача должна быть выполнена в течение одного часа. Ожидается, что фрилансер имеет опыт в веб-программировании и способен быстро реализовать решение.

    Завершен
    2 года назад