在Laravel中重定向withInput()或只返回back()之间有什么区别

时间:2016-03-18 06:04:33

标签: php laravel-5

我想知道withInput()如何在laravel中工作,因为如果我查看代码内部将数据填充到flash会话,那么我只尝试了redirect()->back()并且我可以使用{{检索旧输入1}}帮助器,为什么我需要包含old()如果我没有过滤某些输入必须闪烁或不闪亮,例如。 withInput()

2 个答案:

答案 0 :(得分:1)

简单重定向:

这个非常简单 - 例如,如果您的网站是www.website.com,它会将用户重定向到主URL +您在参数中所说的内容:

返回重定向('主页'); 重定向到http://www.website.com/homepage

返回重定向(' auth / login'); 重定向到www.website.com/auth/login

返回重定向(''); 重定向到主页 - www.website.com

链接方法和重定向:

如果您只想将用户重定向回上一页(最常见的示例 - 在数据验证失败后重定向回表单页面),您可以使用:

返回redirect() - > back();

正如您在此示例中所看到的,您可以添加更多方法来重定向() - 甚至不止一个,我们将在下一个示例中看到。

使用数据重定向:

有两种方法可以通过重定向发送一些数据。首先,您可以使用with():

返回redirect() - > back() - > with('错误','出错了。'); 此代码将向会话Flash数据添加一个项目,其中包含键“错误”和值“出错” - 然后您可以在结果控制器或视图中使用它作为会话('错误')。

答案 1 :(得分:0)

使用back()重定向,用户输入将用户重定向回上一页(因为laravel将其保存为闪存数据)。

如果您想要使用输入重定向用户,则可以使用withInput(),而不必返回。例如,我可以将用户重定向到另一个页面,用户输入保持不变:redirect('stage2')->withInput(),即如果我有两步注册过程。