MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Регистрация пользователя

Продолжение раздела Авторизация пользователя. Создаем страницу регистрации пользователей и помещаем их в модель Accounts.

Создаем файл шаблона views/view-registration.php и вносим маршрут к шаблону в файл config/routes.php

$mvFrontendRoutes = [ ... ,

"registration/" => "login/view-registration.php"
];

Содержимое файла шаблона view-registration.php

//Если есть авторизованный пользователь, то не даем регистрироваться
//и переводим его на нужный нам URL
if($account)
    $mv -> redirect("home/");

$form = new Form("Accounts");

//Можно также поставить более сильную каптчу "extra/captcha-strong/"
$form -> addField(["Код безопасности", "char", "captcha", ["captcha" => "extra/captcha-simple/",
                                                                     "required" => true]));

$form -> addRule("email", "unique", true, "Данный email уже зарегистрирован.");
$form -> useTokenCSRF();

if(!empty($_POST))
{
    $form -> getDataFromPost() -> validate(["name", "password", "email", "phone", "captcha"]);

    if($form -> captcha && $_SESSION["captcha"] != $form -> captcha)
        $form -> addError("Не верно введен код безопасности.", "captcha");
    
    if($form -> isValid())
    {
        $salt = $mv -> accounts -> createPasswordSalt();
     
        $record = $mv -> accounts -> getEmptyRecord();
        $record -> setValues($form -> getAllValues());
        $record -> date_registration = I18n :: getCurrentDateTime();
        $record -> active = 1;
        $record -> password = Service :: makeHash($form -> password.$salt);
     
        $record -> create();
     
        $account = $mv -> accounts -> login($form -> email, $form -> password);
        
        $mv -> redirect("home/");
    }
}

include $mv -> views_path."main-header.php";


 echo $form -> displayErrors(); 
echo $form -> display(["name", "email", "password", "phone", "captcha"]);
echo $form -> displayTokenCSRF();
include $mv -> views_path."main-footer.php";

Предыдущий раздел

Авторизация пользователя

Следующий раздел

Личный кабинет пользователя
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться