public function register() { if (App::create()->session->isLoggedIn()) { header('Location: /profile'); } $postData = App::create()->request->post(); if ($postData) { $userEmail = App::create()->request->post('email'); $userInDb = (new UsersModel())->findOne(['email' => "='{$userEmail}'"]); if (!$userInDb->getId()) { $user = new UsersModel(); $validation = $user->fromArray($postData)->validate('register'); $validationErrors = $validation->getErrors(); if (!$validationErrors) { $user->setPassword(md5($user->getPassword())); $user->save(); header('Location: /login'); } } else { $validationErrors[]['email']['message'] = 'User with such email is already exists.'; } } App::create()->template->setData(['title' => 'Registration', 'validationErrors' => $validationErrors ? $validationErrors : [], 'postData' => App::create()->request->post()])->render('auth/register'); }