如果您在 PHP 中退出,如何显示?

How to display if you signed out in PHP?

所以我有这个 index.php 文件和另一个 levels.php 文件,登录用户可以在其中选择级别。如果我想从会话中注销,我希望它将用户带回 index.php,但是由于注销不会发送任何 POST 数据,所以我无法告诉 index.php用户刚刚退出。

我该如何管理它,以便 div 通知用户他刚刚成功退出?

登录(通常与客户端和服务器之间的状态保留相关)的想法最常通过使用 cookie(或更恰当地 sessions)来解决。这与向服务器发送 POST 请求无关。只是检查状态信息是否仍然有效。

假设您执行与此类似的操作来让用户登录...

<?php
session_start();
if ($user->signIn()) { // successful sign in attempt
    $_SESSION['signedIn'] = true;
    $_SESSION['userId'] = $user->id;
} else {
    // failed to sign in
}

假设您这样做是为了让用户注销...

<?php
session_start();

// Destroy the session cookie on the client
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Destroy the session data on the server
session_destroy();

然后确定用户是否从 index.php 登录应该就这么简单...

<?php
session_start();

if (!empty($_SESSION['signedIn'])) { // They are signed in
    /* Do stuff here for signed in user */
} else { // They are not
    /* Do other stuff here for signed out user */
}