我正在开展一项测验,并希望检查问题是否已经得到解答。然后,我想在提交后打印一些内容和/或禁用表单。如果用户有任何观察或预订,页面将被重定向回以显示新选项。如果表单重定向,我如何检查或禁用表单,以便用户无法再次提交表单?我使用以下方法重定向回来。
<?php
return redirect()->back();
如果我使用with()方法传递一个变量,我就没有成功。系统无法识别我的变量。我也试过......
<?php
return redirect()->back()->withDisable('disable');
答案 0 :(得分:2)
你可以在laravel中使用flash数据来完成这类任务。
什么是Flash数据?
Flash数据可帮助您仅在下一个请求中存储会话中的项目。使用此方法存储在会话中的数据仅在后续HTTP请求期间可用,然后将被删除。
$request->session()->flash('disabled', 'true');
但是,如果您需要保留闪存数据以满足多个请求
$request->session()->keep(['disabled', 'true']);
访问您可以简单执行的会话/ Flash数据
$request->session()->all() //all flash session data
$request->session()->get('disabled') // for specific
希望有所帮助
答案 1 :(得分:1)
只需with
即可。例如:
return redirect()->back()->with('status', 'disable');
这会保存在会话数据中,因此您可以通过以下方式进行检查:
@if (session('status'))
...
来自:https://laravel.com/docs/5.5/redirects#redirecting-with-flashed-session-data