gpt4 book ai didi

php - 如何将变量从 Controller 发送到 Laravel 中的 View ?

转载 作者:行者123 更新时间:2023-12-02 00:06:32 25 4
gpt4 key购买 nike

我想将变量 $username 的值从我的 Controller 发送到我的 View 。


Controller

我将它发送到 Controller 的底部,如下所示:

return Redirect::to('/')
->with('error','Username/Password Wrong or account has not been activated !')
->withInput(Request::except('password'))
->with('username', $username )
->withErrors($validator);

注意:$用户名


查看

在我的主页中,网址为 / 的某个位置

我尝试将其打印出来{{ $username or 'Nothing' }}


结果

它继续打印Nothing


问题

我的 $username 变量似乎从未发送过?有人可以指出我在这里做错了什么吗?

最佳答案

重定向很重要。来自 the documentation on redirects :

Redirecting to a new URL and flashing data to the session are typically done at the same time. So, for convenience, you may create a RedirectResponse instance and flash data to the session in a single method chain:

return redirect('user/login')->with('message', 'Login Failed');

问题是,重定向是由客户端的浏览器处理的。实际上,服务器响应第一个请求“好的,收到您的请求。现在转到另一个 URL”。然后客户端向另一个 URL 发出请求。因此,Laravel 不能只将值传递到下一页进行渲染,因为客户端正在发出新请求。所以 with() 子句所做的就是将数据刷新到 session 。因此,当您渲染新页面时,您需要从 session 中检索它。

所以你真正想做的是:

重定向:

return Redirect::to("route1")->with("username", $username);

当新页面加载时(可能在不同的路线):

return View::make("template")->with("username", Session::get("username"));

关于php - 如何将变量从 Controller 发送到 Laravel 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com