我遇到了一些我长期以来无法解决的问题。我在 php 中创建了一个脚本来取消设置一个会话变量,但是页面统计了会话这是我的页面代码:
<?php
session_start();
require_once("../header.php");
if($_SESSION['user']) {
unset($_SESSION['user']);
echo "you succesfully logged out.";
header("Refresh:5; url=http://www.webmasteroutlet.com");
} else {
echo "you are already NOT LOGGED IN right now.";
}
require_once("../footer.php");
?>
这就是这个页面上的全部代码。它总是打印出“你现在还没有登录”。 $_SESSION['user']
在 login.php 页面中分配了 true ,我session_start();
在页面的最开始就在<?php
打开之后。session 变量在所有其他带有 php 扩展名的文件中都被识别,这是唯一一个它不工作的文件。我也试过
<?php
session_start();
echo $_SESSION['user'];
?>
它不打印任何东西。它只是跳过那一行,什么也不做。我究竟做错了什么 ?非常感谢您的帮助。这是 header.php 代码
<?php
session_start();
require("config.php"); // that only contains connection to the database and it is successful.
if(isset($_SESSION['user'])==1){
echo "<div id=\"topnav\" class=\"topnav\"><a href=\"#\" class=\"signup\"><span>".$_SESSION['username']."</span></a> <a href=\"http://www.webmasteroutlet.com/users/logout.php\" class=\"signup\"><span>LOGOUT</span></a></div>";
}
else if ($_SESSION['admin']) {
echo "<div id=\"topnav\" class=\"topnav\">"."<a href=\"#\" class=\"signup\"><span>".$_SESSION['adminusername']."</span></a> ";
echo "<a href=\"http://www.webmasteroutlet.com/admin/adminlogout.php\" class=\"signup\"><span>LOGOUT</span></a></div>";
}
else if ( !isset($_SESSION['user'])) {
require ($_SERVER['DOCUMENT_ROOT']."/users/login.php");
}
require("search.php");
?>