php Laravel 8.x:登录后重定向到以前的位置,并重新插入所有输入数据

lhcgjxsq  于 2023-01-08  发布在  PHP
关注(0)|答案(4)|浏览(155)
    • bounty将在6天后过期**。回答此问题可获得+50的声望奖励。Surya Neupane正在寻找规范答案:希望答案与所有屏幕截图的代码所需解决的问题中所述的问题确切。

我正在尝试用Laravel开发一个应用程序,允许用户预订包含几个地点的航班。
对于认证,我使用laravel/ui包。
要完成预订,如果用户没有登录,他将被重定向到登录表单,如果凭据有效,他将返回到上一页。

    • 问题是用户返回后,登录后,先前在该页面通过POST请求传递的数据将不再存在。**

我放了一个流程图来更好地解释我想做什么:
https://i.stack.imgur.com/JeF3e.jpg
那么,我应该怎么做才能用以前的POST值重新加载那个页面呢?

nwnhqdif

nwnhqdif1#

在这种情况下,您应该使用withInput()将用户重定向回来,例如:
第一个月
在这里你可以找到更详细的解释:https://laravel.com/docs/8.x/responses#redirecting-with-input

xtfmy6hx

xtfmy6hx2#

您可以创建一个temp表来保存此数据,然后重定向用户,使其使用新用户行和前一个临时表中保存的会话中的唯一值登录。
然后在重定向之后,通过该键在临时表中加载包含用户临时数据的页面。
这将是很好的,如果你做玉米工作删除这些临时数据每天。

w6mmgewl

w6mmgewl3#

我解决了在页面中添加GET方法来预订航班的问题,然后我将中间件的输入数据作为路由参数传递给登录表单。在提交登录表单后,如果用户成功登录,则该数据将闪存到会话中,并在重定向到上一页后可用。我认为这不是最佳解决方案,因为数据显示在登录页面的URL中,但它工作正常。

fnx2tebb

fnx2tebb4#

我认为你可以用javascript来提交,利用浏览器的存储空间来保存临时数据,完成后可以删除。

相关问题