我有一个非常基本的 PHP 注销文件,它将破坏用户的会话并将他们从他们的帐户中注销。此 PHP 文件可在使用 PHP 5.2.17 (000webhosting) 的服务器上运行。
但它不适用于 PHP 5.3.21 的服务器,它基本上不会注销用户。
这是代码:
<?php
session_start();
session_destroy();
$_SESSION = array();
if(!session_is_registered('id')){
$msg = "You are now logged out";
} else {
$msg = "<h2>could not log you out</h2>";
}
?>
<html>
<body>
<?php echo "$msg"; ?><br>
<p><a href="login.php">Click here</a> to return to our home page </p>
</body>
</html>
有谁知道是什么导致了这个问题?
我也在新服务器上使用了它,但仍然无法正常工作:
<?php
session_start();
unset($_SESSION['id']);
session_destroy();
$_SESSION = array();
if(!isset($_SESSION['id'])){
$msg = "You are now logged out";
} else {
$msg = "<h2>could not log you out</h2>";
}
?>
<html>
<body>
<?php echo "$msg"; ?><br>
<p><a href="login.php">Click here</a> to return to our home page </p>
</body>
</html>
这是我到目前为止所拥有的:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
session_start();
$_SESSION[ 0 ] = "id";
session_destroy();
unset($_SESSION['0']);
if(!isset($_SESSION['0'])){
$msg = "By Clicking The Button Below, You Will Agree That You will Be Logged Out.";
} else {
$msg = "<h2>could not log you out</h2>";
}
?>
很奇怪,我必须从浏览器刷新一次成员页面,这样它才会显示用户已注销。如果我不刷新页面,它将保持登录状态!!!