Как сделать что бы сайт запоминал пользователя который вошёл?

Код регистрации:

<?php
$mysqli = new mysqli("localhost","root","","game");
$mysqli->query ("SETNAMES 'utf8'");
$login=$_POST["login"];
$password=$_POST["password"];
$mysqli->query("INSERT INTO `game`.`users` (`name`, `password`, `money`) VALUES ('$login', '$password', '1000');");
$mysqli->close();
?>

Код входа:

<?php
$login = $_POST["login"];
$password = $_POST["password"];
if($login == false or $password == false){
    echo("Вы не ввели логин или пароль.");
}
$db = new mysqli("localhost","root","","game");
if(!$db) exit("Ошибка подключения");
if($result = $db->query("SELECT * FROM users WHERE users.name = '$login'")){
    $rowscount = mysqli_num_rows($result);

    if($rowscount > 0){
        $dbuserdata = $result->fetch_assoc();
        if($dbuserdata["password"] == $password){
            exit("Вы успешно ввошли.");

            exit("Случилась ошибка. Вы ввели пароль неправильно.");
        }
        exit("Пользователя не существует.");
    }
    exit("Не удалось отправить запрос.");
}
$mysqli->close();
?>

Как сделать так что бы после входа сайт запоминал человека и ему больше не пришлось входить на других страницах сайта?


Ответы (1 шт):

Автор решения: Aram77778

Ответ из похожего вопроса.

Реализовать сессию можно различными способами, но все они подразумевают сохранение определенных данных для сверки (логины, пароли, токены или другие данные, для валидации и сверки самого пользователя и его текущей сессии, или записи новой при отсутствии оной).

Сохранить эти данные вы можете на свое усмотрение, в cookies, в массиве сессий $_SESSION или в локальном хранилище, называемом localStorage.

Суть будет одна и та же, данные от пользователя, хранящиеся в его браузере вы должны проверить со своими, которые получаете чаще всего из базы данных. Если данные валидны и совпали, сессия живет, пользователь авторизован.

Что именно использовать в качестве хранилища на клиенте, решать только вам, при необходимости устанавливать время протухания сессии, а еще и для разных роутов или уровней доступа, чаще всего используют куки, для их установки и отправки реализована специальная функция (https://www.php.net/manual/ru/function.setcookie.php) в языке.

Однако, глобальный массив $_SESSION, зачастую вызывает у новичков меньше вопросов и приводит к меньшему количеству проблем, т.к. используется он как самый простой массив доступный из любого места в скрипте.

→ Ссылка