在这样的(我认为的)小事上浪费了一小时后,我需要你的帮助。
我使用php artisan make:auth
命令与Laravel进行了快速启动。然后我在login
中重新定义了AuthController
方法。现在它看起来像这样:
protected function login(Request $request) {
if (Auth::attempt(["name" => $request->username, "password" => $request->password])) {
return Redirect::route("home")->with("message", "Zalogowano");
} else {
return Redirect::route("get.login")->with("message", "Nie zalogowano");
}
}
在我看来,我已经{{ Session::get("message") or "" }}
我的信息没有显示出来。
我也试过Session::flash("message", "message string")
,效果相同。
我有什么想法可以在(联合国)成功登录后显示消息?
PS。应该提到登录和退出工作正常。
答案 0 :(得分:0)
在模板中试试{{$ message}}。
当您使用 - > with(“varnamehere”,“value”)在重定向结束时刷新数据时,您只需使用$ varnamehere访问模板中的变量。
该变量只是存在,可以在模板中使用。
手册中似乎没有明确说明这一点的部分。
答案 1 :(得分:0)
在您的视图模板中尝试:
@ if(session() - >有(' message')?session() - > get(' message'):"" )@endif
如果设置了它将打印消息..
希望有所帮助......
答案 2 :(得分:0)
您的路由是否在'web'
中间件组(包括Auth路由)中定义? 'web'
中间件组处理启动会话。更具体地说,中间件\Illuminate\Session\Middleware\StartSession::class
处理启动会话。没有会话,没有消息。您的路线应该包含在路线组中,如下所示:
Route::group(['middleware' => 'web'], function () {
// Define routes here
});
查看app\Http\Kernel.php
以查看此中间件组中包含哪些中间件类并深入了解它们。