如果您在 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 */
}
所以我有这个 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 */
}