基于PHP会话的Flash消息

Ayo*_* Ba 1 php flash session

我正在尝试在PHP中创建基于会话的Flash消息:

在register.php页面中,我将会话设置如下:

$_SESSION['flash'] = 'Registered';
Run Code Online (Sandbox Code Playgroud)

然后,在将用户重定向到主页后,我打印了Flash消息:

if (isset($_SESSION['flash'])) {
   echo $_SESSION['flash'];
   unset($_SESSION['flash']);
}
Run Code Online (Sandbox Code Playgroud)

会话在两个页面中都开始。问题是:仅当我删除未设置的功能时,我才会在主页中显示Flash消息,然后始终打印该消息。

Ayo*_* Ba 7

我刚刚通过在重定向用户以逃避注册页面的执行后添加退出来解决我的问题,因此在下一页中使用会话之前,会话不会在当前页面中取消设置。


Yur*_*nko 5

我为此类问题编写了一个库:https : //github.com/tamtamchik/simple-flash

安装后,您可以执行以下操作:

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

// print it after redirect
echo flash()->display(); 
Run Code Online (Sandbox Code Playgroud)

它将生成Bootstrap友好的警报消息。

例