function actionRegister() { $arrResult = []; session_unset(); setcookie('user', '', time() - 3600, '/'); setcookie('token', '', time() - 3600, '/'); setcookie('lastSessionTime', '', time() - 3600, '/'); setcookie('lastSessionIp', '', time() - 3600, '/'); if (!empty($_GET['user']) && !empty($_GET['email']) && !empty($_GET['password'])) { $sql = 'SELECT * FROM users WHERE username = :username'; $db = new Db(); $select = $db->dbSelect($sql, [':username' => $_GET['user']])[0]; switch (true) { case !empty($select): $arrResult['result'] = false; $arrResult['message'] = 'Пользователь уже зарегистрирован'; break; case preg_match('~\\s~', $_GET['user'], $m) === 1 || preg_match('~\\s~', $_GET['password'], $m) === 1: $arrResult['result'] = false; $arrResult['message'] = 'Использование пробелов не допускается'; break; default: $time = date('d.m.y H:i:s'); $sql = 'INSERT INTO `users` (`username`, `email`, `password`, `lastSessionTime`, `lastSessionIp`) VALUES (:username, :email, :password, :lastSessionTime, :lastSessionIp)'; $insert = $db->dbExecute($sql, [':username' => $_GET['user'], ':email' => $_GET['email'], ':password' => $_GET['password'], ':lastSessionTime' => $time, ':lastSessionIp' => $_SERVER['REMOTE_ADDR']]); if ($insert) { $arrResult['result'] = true; $arrResult['message'] = 'Вы успешно зарегистрированы'; Application::setCookies($_GET['user']); } else { $arrResult['result'] = false; $arrResult['message'] = 'Ошибка регистрации'; } break; } } else { $arrResult['result'] = false; $arrResult['message'] = 'Не все поля заполнены'; } echo json_encode($arrResult, JSON_UNESCAPED_UNICODE); }