PHP OOP - Как проверить, вошел ли пользователь в систему без подключения к базе данных (класс User) - PullRequest
0 голосов
/ 07 мая 2020

У меня есть класс User с некоторыми обычными методами и конструктор, который передает объект $ pdo. Существует также метод, называемый isLogged () , и он просто проверяет, установлены ли необходимые переменные сеанса.

Но что, если я хочу только проверить, вошел ли пользователь в журнал, без подключения к базе данных?

// I need to check if user is logged here but it requires including db.php
require 'includes/db.php';

$user = new User($pdo);

if (!$user->isLogged()) {
    header('Location: index.php');
    exit;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // POST validation
    // ...
    // That is the place where DB connection should be made
}

1 Ответ

1 голос
/ 07 мая 2020

Когда пользователь входит в систему, вам нужно будет установить переменную сеанса, которая помечает пользователя как вошедшего в систему, затем вы проверяете эту переменную всякий раз, когда вам нужно

function private setLoggedIn() {
    session_start();
    $_SESSION['isLoggedIn'] = true;
}

function public checkLoggedIn() {
    if ($_SESSION['isLoggedIn']) {
        return true;
    } else {
        return false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...