2013-12-09 78 views
0

我在我的網站上有一個提交給login.php的html登錄表單。 在login.php中是一個標題重定向與會話消息,回聲出現在下一頁home.php。在整個用戶會話期間只顯示一次會話消息?

我想要做的就是讓這個消息只運行一次,直到用戶再次登錄才顯示。目前正在發生的事情是每個頁面刷新顯示的消息。

有人能告訴我我能做些什麼來排序這個,謝謝。

<?php session_start(); 
if(isset($_SESSION['login_message'])) 
    echo $_SESSION['login_message']; 
    unset($_SESSION['loginframe2']) ; 

?> 
+0

你缺少'在session_start()'您的login.php –

+0

只顯示它我有它在我的頁面的頂部,但它仍然犯規有所作爲,消息仍然顯示在每個頁面刷新 – user3080996

+1

試試這個:unset($ _ SESSION ['login_message']);而不是未設置($ _ SESSION ['loginframe2']); –

回答

1

只需unset登錄消息,一旦它已經被顯示:在login.php中

代碼:

<?php 

    if (logged_in()) 
{ 
$_SESSION['login_message']="<div class=\"login-overlay\"> 
<h1>Login You In Securely</h1> 
</div>"; 
header("Location:home.php"); 

} 

?> 

代碼home.php。

if(isset($_SESSION['login_message'])) { 
    echo $_SESSION['login_message']; 
    unset($_SESSION['login_message']); 
} 

現在,如果用戶看到該消息,它將不再在會話中。一旦他再次登錄,login.php會再次設置該變量。

0

只需使用和跟蹤像$_SESSION['message_displayed']這樣的變量。它設置爲true當你第一次顯示的消息,如果!array_key_exists('message_displayed', $_SESSION)