2017-03-04 74 views
1

我要顯示在網頁會話變量,如果網頁得到重新加載它會破壞會話意味着用戶無法看到相同的信息,如果他重新加載相同的網頁。如何在頁面加載後銷燬會話?

的,我已經使用使用PHP

<?php 
if (!isset($_SESSION['message'])) { 
    echo $_SESSION['message']; 
} 
session_unset(); 
?> 

但是,當我再次重新加載相同頁面,我看到下面的錯誤以下步驟:

Notice: Undefined index: message

任何人都可以建議我什麼都可以的程序,以便我可以忽略通知

+0

你已經寫了一個條件打印僅當它不存在一個變量? –

回答

2

此代碼應解決您的查詢

如果會話未被銷燬'hello'消息將不會顯示。

<?php 
$_SESSION['message']='hello'; 
    if(isset($_SESSION['message'])) { 
     echo $_SESSION['message']; 
     } 
    unset($_SESSION); 

//test 
echo $_SESSION['message']; 
?> 
+0

同樣的錯誤,我越來越.. – User57

+0

嘗試,現在你有拼寫錯誤@ User57 – ben

+0

我不知道,因爲我之前'isset'我不刪除'!'符號」看到消息!聽起來很奇怪,但這就是發生 – User57

2

更新如果條件

<?php 
if(isset($_SESSION['messsage'])) { 
    echo $_SESSION['message'];  
    } 
    session_unset(); 
?> 
+0

那麼我沒有看到消息 – User57

+0

我們摧毀之前顯示會話值,值將只顯示其設置。或者您可以將值存儲在另一個變量中,然後回顯它,然後執行未設置的會話。您也可以使用它來取消會話未設置($ _ SESSION [「消息」]) – Bhaskar

0

,你可以知道代碼運行線對線,所以如果你有,你要銷燬會話的任何條件,把session_destroy();有,否則你可以把它放在你的代碼的最後一行。這是你去的最後一點。

session_destroy(); 
0

請試試這個:

$_SESSION['message'] = "Hello"; 
    if(isset($_SESSION['message'])){ 
     echo $_SESSION['message']; 
     session_destroy(); 
    }