2013-05-26 63 views
0

當用戶登錄時,它將顯示註銷。用戶尚未登錄時,請回顯歡迎消息並顯示登錄信息。我在一些網頁中的代碼正在工作。然而,在一些頁面中顯示登錄和註銷。我不知道爲什麼,請幫忙。如果登錄,顯示註銷,反之亦然導航

<?php 


    session_start(); 
    if (isset($_SESSION['loginID_member'])) 


{ 

echo "Welcome, ".$_SESSION['loginID_member']; 
echo "&nbsp;&nbsp;"; 
echo "<a href='../logout.php''>Logout</a>"; 

    } 
    else 
{ 
    echo "Welcome, guest!"; 
echo "&nbsp;&nbsp;"; 
echo "<a href='member_login.php'>Login</a>"; 
} 
?> 
+0

這意味着你的isset是不正確的,請檢查您的形式,一定是有什麼錯 – Fabio

+0

@Fabio我要讓所有的每個網頁會這樣改變了。所以並不是所有的網頁都有表格。 – user2413017

+0

那你在哪裏得到'$ _POST'變量? – Fabio

回答

1

您只在檢查$_POST。 只需使用$_SESSION這樣的替換:

if(isset($_SESSION['loginID_member']) { 
[...] 

而且session_start()應該在文檔的頂部。

除此之外,您的腳本並不是非常安全,因爲每個人只需發送POST請求和密鑰'loginID_member'即可登錄。嘗試更改會話'設置'。

+0

它只能在一些網頁中起作用 – user2413017

+0

我在某些頁面工作。但在一些頁面上,登錄和註銷都顯示... – user2413017

0

註銷時,完全刪除您的變量:

unset($_SESSION['loginID_member']); 
+0

我使用高清 session_destroyed(), 它不好嗎? – user2413017