public function registerAction()
{
if (!empty($_POST))
{
if (!$this->model->validate(['email', 'login', 'wallet', 'password'],$_POST))
{
$this->view->message('Ошибка', 'error', $this->model->error);
}
elseif (!$this->model->checkEmailExists($_POST['email']))
{
$this->view->message('Ошибка', 'error', $this->model->error);
}
elseif (!$this->model->checkLoginExists($_POST['login']))
{
$this->view->message('Ошибка', 'error', $this->model->error);
}
elseif (!$this->model->register($_POST))
{
$this->view->message('Ошибка', 'error', $this->model->error);
}
$this->view->message('Успешно', 'success', "reg OK, check ur email");
}
$this->view->render('Регистрация');
}
//model
public function validate($inputs, $post)
{
$rules = [
'email' => [
'pattern' => '#^([a-z0-9_.-]{1,20}+)@([a-z0-9_.-]+)\.([a-z\.]{2,10})$#',
'message' => 'E-mail адрес указан неверно',
],
'login' => [
'pattern' => '#^[a-z0-9]{3,15}$#',
'message' => 'Логин указан неверно (разрешены только латинские буквы и цифры от 3 до 15 символов)',
],
'wallet' => [
'pattern' => '#^[a-z0-9]{3,15}$#',
'message' => 'Кошелек указан неверно',
],
'password' => [
'pattern' => '#^[a-z0-9]{6,30}$#',
'message' => 'Пароль указан неверно (разрешены только латинские буквы и цифры от 6 до 30 символов)',
],
];
foreach ($inputs as $val)
{
if (!isset($post[$val])
or
!preg_match($rules[$val]['pattern'], $post[$val]))
{
$this->error = $rules[$val]['message'];
return false;
}
}
return true;
}