Php Symfony 4:注销后显示flashbag
我有一个网站,在那里用户必须通过测试,最终他们可以访问测试结果。它们可以通过邮件发送,这将发送一封电子邮件,从数据库中删除记录,断开用户连接并将其重定向到登录页面 一旦断开连接并重定向到登录页面,我想显示一条确认消息,如“感谢您的参与!您的结果刚刚通过电子邮件发送” 这是我在我的函数中写的,在我的控制器中:Php Symfony 4:注销后显示flashbag,php,symfony,twig,Php,Symfony,Twig,我有一个网站,在那里用户必须通过测试,最终他们可以访问测试结果。它们可以通过邮件发送,这将发送一封电子邮件,从数据库中删除记录,断开用户连接并将其重定向到登录页面 一旦断开连接并重定向到登录页面,我想显示一条确认消息,如“感谢您的参与!您的结果刚刚通过电子邮件发送” 这是我在我的函数中写的,在我的控制器中: $request->getSession()->getFlashBag()->添加('success','Thank your participation!…); 返回$this->redi
$request->getSession()->getFlashBag()->添加('success','Thank your participation!…);
返回$this->redirectToRoute('app_logout');
这是我在我的视图中写的(登录页面)
{%用于app.flash中的消息('success')%}
{{message}}
&时代;
{%endfor%}
我在没有断开用户连接的情况下尝试了这一点,效果很好!
但一旦我使用“app_logout”路由,就不可能显示flashbag,因为用户的会话无法访问。
我还不知道该做什么,总之,这是我的方向:
(查看)显示测试结果->(控制器)发送邮件/添加flashbag/重定向至app_logout->(?)app_logout断开用户连接并重新定向至->(查看)登录页面,我要在其中显示我的flashbag
有人对这个有想法吗可以做什么?最干净的解决方案可能是定制,它检查数据库中发送的电子邮件信息,并在适用的情况下为新会话设置flashbag。@MichalS。你这是什么意思?我对你问题的回答是这里可能有@MichalS的副本。谢谢你,这两个解决方案都非常有趣!你认为我能适应我的问题吗?因为我不想每次用户注销时都显示消息,但只有当我在向用户发送邮件后断开连接时才显示消息。当然,只需在您自己的处理程序中定义条件:)您可能必须编写一些服务来检查此场景并“瞧”!谢谢但我仍然有同样的问题,注销怎么知道用户id?以检查是否发送了正确的电子邮件
{% for message in app.flashes('success') %}
<div class="alert alert-warning alert-dismissible fade show" role="alert">
{{ message }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
{% endfor %}