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('/'); } }