data->login; $email = Flight::request()->data->email; $password = Flight::request()->data->password; $confirm = Flight::request()->data->confirm; $error = null; $check = Flight::db() ->prepare(" select * from (select count(`id`) AS one from `users` where `login` = :l) as login_matches, (select count(`id`) AS two from `users` where `email` = :e) as email_matches "); $check->execute(array(':l' => $login, ':e' => $email)); $data = $check->fetch(); if (empty($login)) $error .= '
Логин адресс не заполнен!
'; elseif (!preg_match("#^[0-9a-zA-Z-_]+$#", $login)) $error .= 'Логин может содержать только (a-Z 0-9 _-)!
'; elseif (mb_strlen($login) < 4) $error .= 'Логин менее 4 символов!
'; elseif (mb_strlen($login) > 12) $error .= 'Логин более 12 символов!
'; elseif (!empty($data['one'])) $error .= 'Логин уже занят!
'; if (empty($email)) $error .= 'Email адресс не заполнен!
'; elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) $error .= 'Email адерс не корректен!
'; elseif (!empty($data['two'])) $error .= 'Email уже зарегистрирован!
'; if (empty($password)) $error .= 'Пароль не заполнен!
'; if (empty($confirm)) $error .= 'Повтор пароля не заполнен!
'; elseif ($confirm != $password) $error .= 'Пароли не совпадают!
'; if ($error) { sleep(1); exit(Flight::json(array('error' => $error))); } else { Flight::db() ->prepare("insert into `users` (`login`, `email`, `password`, `date_reg`, `date_last`) values(?,?,?,?,?)") ->execute(array($login, $email, md5($password), time(), time())); sleep(3); exit(Flight::json(array('error' => $error))); } } else Flight::redirect('/'); } }