From c69709ee792014938c203701516b2708c7c764c6 Mon Sep 17 00:00:00 2001 From: themohooks <81331307+themohooks@users.noreply.github.com> Date: Thu, 4 Jul 2024 13:20:40 +0300 Subject: [PATCH] just register --- app/Controllers/Api/Register.php | 9 +++++++-- app/Controllers/ApiController.php | 5 ++++- app/Core/Routes.php | 2 +- views/pages/Register.php | 13 ++++++++----- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/Controllers/Api/Register.php b/app/Controllers/Api/Register.php index 3416ae6..3940e4a 100644 --- a/app/Controllers/Api/Register.php +++ b/app/Controllers/Api/Register.php @@ -36,8 +36,8 @@ class Register $username = $_POST['username']; $password = $_POST['password']; $email = $_POST['email']; - if (!strcasecmp(DB::query('SELECT username FROM users WHERE (LOWER(username) LIKE :username)', array(':username' => '%' . $username . '%'))[0]['username'], $username) === false || !preg_match("#^[a-zA-Z0-9]+$#", $username)) { - if (Word::strlen(ltrim($username)) >= 5 && Word::strlen(ltrim($username)) <= 20 && Router::checkCurl($_SERVER['HTTP_HOST'] . '/' . $username) != 200) { + if (!strcasecmp(DB::query('SELECT username FROM users WHERE (LOWER(username) LIKE :username)', array(':username' => '%' . $username . '%'))[0]['username'], $username) === false || Router::checkCurl($_SERVER['HTTP_HOST'] . '/' . $username) != 200 ) { + if (Word::strlen(ltrim($username)) >= 5 && Word::strlen(ltrim($username)) <= 20 && !preg_match("#^[a-zA-Z0-9]+$#", $username)) { if (Word::strlen(ltrim($password)) >= 5 && Word::strlen(ltrim($password)) <= 120) { @@ -106,6 +106,7 @@ class Register echo json_encode( array( 'errorcode' => '2', + 'errortitle' => 'Пользователь с такой почтой уже существует!', 'error' => 1 ) ); @@ -115,6 +116,7 @@ class Register echo json_encode( array( 'errorcode' => '3', + 'errortitle' => 'Почта некорректного формата!', 'error' => 1 ) ); @@ -123,6 +125,7 @@ class Register echo json_encode( array( 'errorcode' => '4', + 'errortitle' => 'Пароль меньше 5 символов!', 'error' => 1 ) ); @@ -131,6 +134,7 @@ class Register echo json_encode( array( 'errorcode' => '5', + 'errortitle' => 'Никнейм некорректный!', 'error' => 1 ) ); @@ -139,6 +143,7 @@ class Register echo json_encode( array( 'errorcode' => '6', + 'errortitle' => 'Никнейм уже существует!!', 'error' => 1 ) ); diff --git a/app/Controllers/ApiController.php b/app/Controllers/ApiController.php index d0c6fbd..589d381 100644 --- a/app/Controllers/ApiController.php +++ b/app/Controllers/ApiController.php @@ -4,7 +4,7 @@ namespace App\Controllers; use \App\Services\{Router, Auth, DB, Json}; use \App\Controllers\ExceptionRegister; use \App\Core\Page; -use \App\Controllers\Api\Login; +use \App\Controllers\Api\{Login, Register}; class ApiController { @@ -12,5 +12,8 @@ class ApiController public static function login() { return new Login(); } + public static function register() { + return new Register(); + } } \ No newline at end of file diff --git a/app/Core/Routes.php b/app/Core/Routes.php index 593c1cd..a75f9ee 100644 --- a/app/Core/Routes.php +++ b/app/Core/Routes.php @@ -16,7 +16,7 @@ class Routes Router::get('/register', 'RegisterController@i'); Router::get('/photo/$id', 'PhotoController@i'); Router::post('/api/login', 'ApiController@login'); - + Router::post('/api/register', 'ApiController@register'); diff --git a/views/pages/Register.php b/views/pages/Register.php index 6fd1864..1cf229b 100644 --- a/views/pages/Register.php +++ b/views/pages/Register.php @@ -56,18 +56,21 @@ if (!email.match(/^[0-9a-z_\-.]+@[0-9a-z_\-^.]+\.[a-z]{2,4}$/i)) err_email.html('Некорректный адрес'); - if (err_email.html() == '' && captchaPassed) { + if (err_email.html() == '') { $(this).prop('disabled', true).val('Отправка данных...'); - $.get('/api/register', { + $.post('/api/register', { username: username, email: email, password: password }, function(r) { - if (r != 0) { - $('#err_email').html(r == 1 ? 'Пользователь с таким e-mail уже зарегистрирован' : 'На этот адрес уже было отправлено письмо со ссылкой для подтверждения.

Проверьте, не попало ли оно в папку "Спам"!'); + r = JSON.parse(r); + if (r.errorcode > 0) { + $('#err_email').html(r.errortitle); $('#regbtn').prop('disabled', false).val('Зарегистрироваться'); - } else $('#form').submit(); + } else { + window.location.href = "/" + } }) .fail(function(jx) { if (jx.responseText != '') alert(jx.responseText);