2013-07-16 75 views
1

我做了一個登錄頁面,引導您進入主頁面。 和主頁上我做了這個代碼:註銷後未定義的SESSION變量

session_start(); 
<?php echo 'welcome, '. $_SESSION['email']; ?> 

,將歡迎任何將在主要頁面登錄。如果有人從主頁面註銷,它也將導致他也進入主頁面。就像登錄和註銷論壇。 eveything正常工作,但問題是當我從主頁面註銷或當我不登錄時,我在主頁面出現錯誤:

注意:未定義的變量:_SESSION在C:\ wamp \ www \ index中。 php 25行

我該如何解決這個問題?

這是我的註銷代碼:

<?php 
session_start(); 
session_destroy(); 
header("location:index.php"); 
?> 

回答

1

做一個簡單的檢查,看看如果會話設置:

<?php 
    session_start(); 

    if(isset($_SESSION['email']) === true){ 
    // Say "Welcome" 
    echo 'Welcome, ' . $_SESSION['email']; 
    } else { 
    // Do nothing, the session is not set 
    } 
?> 

編輯:我看了你的評論,我會建議logout.php代碼爲:

<?php 
    session_start(); 

    // Destroy the sessions 
    // If you have more sessions, add more like below, but replace email if it is different: 
    // unset($_SESSION['session_name']); 
    unset($_SESSION['email']); 
    session_destroy(); 

    header("Location: index.php"); 

?> 
+0

感謝他的工作^ _ ^ –

0

什麼是您的註銷代碼樣子的?你使用unset($ _ SESSION)而不是session_destroy嗎?

+0

我把它放在我的問題 –

+0

而且,index.php中的session_start是第一件事情(或者至少在html標籤之前)? –