2011-07-11 73 views
0

在受密碼保護的網站(ajax-php-jquery登錄系統)上,fadeIn/fadeOut提醒確認用戶剛剛註銷。用戶被髮回登錄頁面,我做了一個document.referrer來檢查他是否來自網站的頁面(如果是這意味着他只是註銷,所以我可以顯示該消息)。但是,當然如果用戶刷新頁面,他會再次收到通知。僅在登錄頁面上顯示註銷通知一次

我正在考慮更改document.referrer,但屬性爲只讀。任何想法如果用戶註銷,我只能顯示一次消息?

+0

您所說的模式通常被稱爲「Flash通知」,谷歌,你應該找到一些關於如何實現它的想法。 –

回答

1

你可以做一個有條件的用PHP:

if(isset($_SESSION['justLoggedOut'])){ 
    print '<script type="text/javascript"> ..notification code.. </script>'; 
    unset($_SESSION['justLoggedOut']); 
} 

你只需要在認證區域內設置會話(或重定向到索引頁面登出頁面[我假設])

+0

通常將此格式擴展爲遍歷一組消息,當它顯示時取消設置項目。 – zzzzBov

+0

我試過這個,併成功創建了一個會話,當用戶像這樣註銷時:'session_name('justLoggedOut'); session_start();'然後我使用了上面的代碼,但是javascript沒有打印並且會話保持不變。我做錯了什麼? – user495915

+0

試試這個:'$ _SESSION ['justLoggedOut'] = true;' – wanovak

0

使用cookie將是最簡單的路線。只需在註銷時添加一個cookie,然後在顯示通知後將其刪除。此Cookie可能包含您想要註銷的所有信息:例如註銷的時間以及他們從哪個URL開始註銷。

當然,這是假設你的客戶在你的網站上允許cookies。服務器端替代方案是使用會話數據。然後,您的通知會發送一個AJAX調用回服務器以清除該通知應顯示的指示符。

相關問題