Php Laravel 5.2-会话::无法工作

Php Laravel 5.2-会话::无法工作,php,laravel,session,laravel-5,laravel-5.2,Php,Laravel,Session,Laravel 5,Laravel 5.2,我想为我开始在routes.php中重定向的用户显示一条“falsh消息”,代码如下: Route::get('/alert',function () { return redirect()->route('home')->with('message', 'This is a Test Message!'); }); a:5:{s:6:"_token";s:40:"8304u3fjR9EhvA88QMVGQnGcgdUcWoZj9LrHaDPh";s:7:"message"

我想为我开始在
routes.php
中重定向的用户显示一条“falsh消息”,代码如下:

Route::get('/alert',function () {
    return redirect()->route('home')->with('message', 'This is a Test Message!');
});
a:5:{s:6:"_token";s:40:"8304u3fjR9EhvA88QMVGQnGcgdUcWoZj9LrHaDPh";s:7:"message";s:23:"This is a Test Message!";s:5:"flash";a:2:{s:3:"new";a:0:{}s:3:"old";a:1:{i:0;s:7:"message";}}s:9:"_previous";a:1:{s:3:"url";s:22:"http://localhost/alert";}s:9:"_sf2_meta";a:3:{s:1:"u";i:1452937821;s:1:"c";i:1452937821;s:1:"l";s:1:"0";}}
在主视图中包含的
alerts.blade.php
中,我想用以下内容阅读此消息:

Route::group(['middleware' => ['web']], function () {
  Route::get('/alert',function () {
        return redirect()->route('home')->with('message', 'This is a Test Message!');
    });
});
我的会话将在
storage\framework\sessions
下设置,代码如下:

Route::get('/alert',function () {
    return redirect()->route('home')->with('message', 'This is a Test Message!');
});
a:5:{s:6:"_token";s:40:"8304u3fjR9EhvA88QMVGQnGcgdUcWoZj9LrHaDPh";s:7:"message";s:23:"This is a Test Message!";s:5:"flash";a:2:{s:3:"new";a:0:{}s:3:"old";a:1:{i:0;s:7:"message";}}s:9:"_previous";a:1:{s:3:"url";s:22:"http://localhost/alert";}s:9:"_sf2_meta";a:3:{s:1:"u";i:1452937821;s:1:"c";i:1452937821;s:1:"l";s:1:"0";}}
但问题是Laravel没有给我消息的输出,因为它是空的。也许有人能帮我

routes.php

Route::group(['middleware' => ['web']], function () {
    Route::get('/', [
        'uses' => '\App\Http\Controllers\HomeController@index',
        'as' => 'home',
    ]);
    Route::get('/alert',function () {
        return redirect()->route('home')->with('message', 'This is a Test Message!');
    });
});

web
中间件组包含会话所需的所有中间件。您的
警报
路由位于中间件组中,因此它会正确设置会话,但是,您的
home
路由也需要位于
web
中间件组中,以便能够读取会话。

您可能应该将
home
路由放在routes.php文件中的
web
中间件中,以使其工作明确插入会话闪存数据

Route::get('/alert',function () {
    $request->session()->flash('message', 'Task was successful!');
    return redirect()->route('home');
});

如果你这样写:

Route::get('/alert',function () {
    return redirect()->route('home')->with('message', 'This is a Test Message!');
});
您将在视图中找到一个名为$message的变量;尝试并检查
echo$消息

一次性使用;你也可以写:

Route::get('/alert',function () {
    $request->session()->flash('message', 'This is a Test Message!');
    return redirect()->route('home');
});
它也是一次性使用,但您需要启用会话。 如果您想将消息永久保存在会话中,您可以编写:

Route::get('/alert',function () {
    $request->session()->put('message', 'This is a Test Message!');
    return redirect()->route('home');
});

希望这有助于其他人更清楚地理解。

显示调用视图的方式以及尝试获取会话的方式?请显示
App\Http\Controllers\HomeController@index
和任何适用的刀片文件。因此,请包括您的路由文件添加路由。php确保您没有缓存路由文件bootstrap/routes.php如果您这样做,请删除它bootstrap/@DanielO中没有routes.php。是否将
消息
变量传递给刀片模板?