[英]Page Does Not Recognize SESSION
我遇到了我無法解決的問題。 我已經在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
打開后的頁面開頭。 會話變量在所有其他具有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");
?>
嘗試這個:
<?php
session_start();
require_once("../header.php");
if(isset($_SESSION['user'])) {
echo "User.".$_SESSION['user']." you are being logged out";
unset($_SESSION['user']);
header("Refresh:5; url=http://www.webmasteroutlet.com");
} else {
echo "You are not logged or var SESSION doesnt exist";
}
require_once("../footer.php");
?>
如果仍然無法解決問題,請嘗試刪除require_once行(用於調試)。
我認為您需要設置if,並確保將會話數據傳遞到此頁面,就像您正在取消設置
賈斯汀,我想您沒有設置$_SESSION['user']
。 這就是為什么在vardump時得到NULL的原因。
盡管我僅限於您提供的腳本,但另一種可能性是,您使一個人可以通過$_SESSION['admin']
和$_SESSION['user']
登錄。 如果是這種情況,則必須將腳本更改為:
if(isset($_SESSION['user'])) {
unset($_SESSION['user']);
echo "user succesfully logged out.";
}elseif(isset($_SESSION['admin'])){
unset($_SESSION['admin']);
echo "admin succesfully logged out.";
}else{
echo "you are already NOT LOGGED IN right now.";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.