簡體   English   中英

基於PHP會話的Flash消息

[英]PHP Session-Based flash message

我正在嘗試在PHP中創建基於會話的Flash消息:

在register.php頁面中,我將會話設置如下:

$_SESSION['flash'] = 'Registered';

然后,在將用戶重定向到主頁后,我打印了Flash消息:

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

會話在兩個頁面中都開始。 問題是:僅當我刪除未設置的功能時,我才會在主頁中顯示Flash消息,然后始終打印該消息。

我為此類問題編寫了一個庫: https : //github.com/tamtamchik/simple-flash

安裝后,您可以執行以下操作:

// put message not session
flash('Some error message', 'error');

// print it after redirect
echo flash()->display(); 

它將生成Bootstrap友好的警報消息。

例

請注意,session_unset只是清除了使用情況。 該會話仍在用戶計算機上。 請注意,通過使用session_unset,該變量仍然存在。

但是,與session_destroy一起使用session_unset是實際清除數據的更有效的方法。 如上面的示例所述,跨瀏覽器非常有效:

<?php
session_unset();
session_destroy();
?>

我只是通過在重定向用戶以退出注冊頁面的執行后添加退出來解決我的問題,因此在下一頁使用會話之前,不會在當前頁面中取消設置會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM