猿问

如何在不建立数据库连接的情况下检查用户是否登录(用户类)

我有一个带有一些普通方法的类 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

}


慕码人2483693
浏览 72回答 1
1回答

慕哥9229398

当用户登录时,您需要设置一个会话变量,将用户标记为已登录,然后在需要时检查该变量function private setLoggedIn() {    session_start();    $_SESSION['isLoggedIn'] = true;}function public checkLoggedIn() {    if ($_SESSION['isLoggedIn']) {        return true;    } else {        return false;    }}
随时随地看视频慕课网APP
我要回答