Laravel 5.7将值传递给控制器中的路由
我的控制器发布表单以创建新页面。发布表单后,我需要将用户重定向到新页面,该页面将包含上一表单中输入的页面内容。如果我只是返回Laravel 5.7将值传递给控制器中的路由,laravel,laravel-5.7,Laravel,Laravel 5.7,我的控制器发布表单以创建新页面。发布表单后,我需要将用户重定向到新页面,该页面将包含上一表单中输入的页面内容。如果我只是返回view('mynewpageview',compact('mycontent')其中mymycontent是用于执行$mycontent->save()的对象命令时,我承担了有人刷新url的风险,因此通过创建新页面两次发布相同的内容 相反,我希望将用户重定向到实际的页面url 我的路线是 Route::get('/newpage/{id}','PageController
view('mynewpageview',compact('mycontent')
其中mymycontent是用于执行$mycontent->save()的对象代码>命令时,我承担了有人刷新url的风险,因此通过创建新页面两次发布相同的内容
相反,我希望将用户重定向到实际的页面url
我的路线是
Route::get('/newpage/{id}','PageController@pagebyid');如果我使用return redirect()->route('/newpage/$pageid')代码>其中$pageid=$mycontent->id代码>我获取未定义的路由错误
阻止某人重新提交内容或传递参数的正确语法的解决方案是什么?对我来说,正确的答案是-
在路由文件中为路由指定名称
然后在控制器中使用如下所示的数组传递参数
return redirect()->route('newpageid',['id'=>$pageid]) 对于基本(未命名)路由,正确的语法是返回重定向('/newpage/'.$pageid)代码>
您已经发现您可以选择使用
最后但并非最不重要的是,感谢您考虑了“双重提交”问题!您实际上已经实现了:)您尝试使用return redirect()->路由('/newpage/'.$pageid)代码>?你把变量本身放在字符串上,而不是他的值上。我放了。即使路径被精确修改,它仍然显示相同的错误。