2017-01-04 121 views
1

只需要注意:我正在搞亂HTML/CSS/PHP和MySQL。我尚未考慮安全性。HTML - 兩個相同的代碼運行不同的輸出?

我有2個文件,第一個叫做page1.php,第二個叫做page2.php。很簡單,他們都有一個導航欄它有它的一些PHP代碼:

if (isset($_SESSION["loggedin"])){ 
    echo "<li class='navbar-button' id='right-status'><a>Logged in as admin</a></li>\n"; 
    echo "<li class='navbar-button' id='right-change'><a href='logout.php'>Log Out</a></li>\n"; 
} else { 
    echo "<li class='navbar-button' id='right-change'><a href='login.html'>Log In</a></li>"; 
} 

它檢查是否存在名爲「的loggedIn」當前會話的數據,如果它不顯示「以admin身份登錄 - 註銷「在導航欄上。如果找不到此會話數據,則會在導航欄上顯示「登錄」。當我加載page1.php,在導航欄上顯示「以管理員登錄 - 註銷」,但是當我加載page2.php時,它顯示「登錄」。這兩個都有相同的代碼和我 米不知道他們爲什麼會產生不同的結果。我不確定它是否相關,但page2.php不存儲在與page1.php相同的文件夾中。 Page1.php的目錄是/page1.php。 Page2.php的目錄是/folder/page2.php。

問題1:PHP會話是否將數據全局存儲在整個網站的每個文件/文件夾中?或者只在根文件夾中?

問題2:爲什麼我的代碼給出不同的答案?

非常感謝您提前預約。

:)

編輯:

對不起忘了提,使page2.php是計算機生成使用PHP。

+0

您是否在兩個文件中開始會話? –

+0

@RossWilson哦....該死的。我忘了編輯計算機生成的代碼來開始會話。我覺得自己像個笨蛋。感謝您指出顯而易見的... –

回答

0

事實證明,我忘了在我的page2.php(計算機生成的)中開始會話,因爲它非常複雜,我必須跳過它。感謝RossWilson指出了這一點。

相關問題