Новый класс Chat; session_start() уехал централизованно в конфиг с проверкой на существование ессии перед открытием. Уборка deprecated-артефактов. Работа по внедрению #42.
This commit is contained in:
14
enter.php
14
enter.php
@@ -4,15 +4,13 @@ use Battles\Database\DBPDO;
|
||||
use Battles\GameLogs;
|
||||
use Battles\Template;
|
||||
|
||||
session_start();
|
||||
require_once "config.php";
|
||||
const ERROR_NO_SUCH_USER = 'Такого пользователя не существует!';
|
||||
const ERROR_USER_IS_BLOCKED = 'Пользователь заблокирован!';
|
||||
const ERROR_WRONG_PASSWORD = 'Неверный пароль!';
|
||||
const ERROR_EMPTY_CREDENTIALS = 'Вы не ввели логин или пароль!';
|
||||
$db = new DBPDO();
|
||||
foreach ($_POST as $key => $val) { //Проверка всех значений массива POST одним махом.
|
||||
$_POST[$key] = iconv(mb_detect_encoding($_POST[$key], 'auto'), 'utf-8', $val);
|
||||
$_POST[$key] = iconv(mb_detect_encoding($val, 'auto'), 'utf-8', $val);
|
||||
}
|
||||
|
||||
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_SPECIAL_CHARS);
|
||||
@@ -21,7 +19,7 @@ $battle = $_COOKIE['battle'] ?? '';
|
||||
$error = "";
|
||||
|
||||
if ($username && $password) {
|
||||
$user_query = $db->ofetch('SELECT id, login, pass, room, block FROM users WHERE login = ?', $username);
|
||||
$user_query = DBPDO::$db->ofetch('SELECT id, login, pass, room, block FROM users WHERE login = ?', $username);
|
||||
|
||||
if (!$user_query->id) {
|
||||
$error = ERROR_NO_SUCH_USER;
|
||||
@@ -41,14 +39,14 @@ if ($username && $password) {
|
||||
setcookie("hashcode", md5($user_query->id . $user_query->pass . $username), time() + 43200, "/", GAMEDOMAIN);
|
||||
$_SESSION['sid'] = session_id();
|
||||
|
||||
$onl = $db->ofetch('SELECT user_id FROM online WHERE user_id = ?', $user_query->id);
|
||||
$onl = DBPDO::$db->ofetch('SELECT user_id FROM online WHERE user_id = ?', $user_query->id);
|
||||
if (isset($onl->user_id)) {
|
||||
$db->execute('UPDATE online SET date = ? WHERE user_id = ?', [time(), $user_query->id]);
|
||||
DBPDO::$db->execute('UPDATE online SET date = ? WHERE user_id = ?', [time(), $user_query->id]);
|
||||
} else {
|
||||
$db->execute('INSERT INTO online (user_id, date, room, real_time) VALUES (?,?,?,?)', [$user_query->id, time(), $user_query->room, time()]);
|
||||
DBPDO::$db->execute('INSERT INTO online (user_id, date, room, real_time) VALUES (?,?,?,?)', [$user_query->id, time(), $user_query->room, time()]);
|
||||
}
|
||||
|
||||
$db->execute('UPDATE users SET session_id = ?, enter_game = 1 WHERE id = ?', [session_id(), $user_query->id]);
|
||||
DBPDO::$db->execute('UPDATE users SET session_id = ?, enter_game = 1 WHERE id = ?', [session_id(), $user_query->id]);
|
||||
header("Location: fight.php");
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user