У меня есть этот веб-сайт, где пользователи должны пройти тестирование, в конце концов, у них есть доступ к результатам теста. Их можно отправить по почте, и это отправит электронное письмо, удалит записи из базы данных, отключит пользователя и перенаправит его на страницу входа.
После отключения и перенаправления на страницу входа я хочу отобразитьподтверждающее сообщение типа «Спасибо за ваше участие! Ваши результаты были только что отправлены по электронной почте».
Это то, что я написал в своей функции внутри контроллера:
$request->getSession()->getFlashBag()->add('success', 'Thanks for your participation ! ...');
return $this->redirectToRoute('app_logout');
И это то, что я написал в моем представлении (login_page)
{% 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 %}
Iпопробовал это без отключения пользователя, и это работает! Но как только я использую маршрут app_logout, невозможно отобразить флэш-мешок, потому что сеанс пользователя недоступен. Я еще не знаю, что делать, чтобы подвести итог, это мое направление:
(ПРОСМОТР) Показать результаты тестов -> (CONTROLLER) функция, которая отправляет почту / добавляет flashbag / redirect в app_logout ->(?) app_logout отключить пользователя и повторно подключиться к-> (ПРОСМОТР) странице входа, где я хочу показать мою флэш-сумку
У кого-нибудь есть представление о том, что можно сделать?