Регистрация пользователя
Продолжение раздела Авторизация пользователя. Создаем страницу регистрации пользователей и помещаем их в модель 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();include $mv -> views_path."main-footer.php";
Предыдущий раздел
Авторизация пользователя