会话::flash("成功","数据已成功保存");



我使用下面的代码来显示flash消息,但它不工作。

为PostController

public function store(Request $request){
$this->validate($request,array(
'title'=>'required|max:255',
'slug'  =>'required|alpha_dash|min:5|max:255|unique:posts,slug',
'body'  =>'required'
 ));
    //store in the database
    $post = new Post;
    $post->title = $request->title;
    $post->slug  = $request->slug;
    $post->body = $request->body;
    $post->save();
    //This code will generate flash message about success or failure about data insert
     Session::flash('success', 'Data has been saved successfully!');
    //Redirect to another page
    return redirect()->route('posts.show', $post->id);
}

然后使用下面的代码来显示它:

message.blade.php

@if(Session::has('success'))
    <div class="alert alert-success" role= "alert">
        <strong>Successful:</strong>
            {{ Session::get('success') }} 
    </div>
@endif
@if(count($errors) > 0)
    <div class="alert alert-danger" role="alert">
        <strong>Errors:</strong>
            <ul>
                @foreach($errors as $error)
                    <li>  {{ $error }} </li>
                @endforeach
            </ul>
    </div>
@endif

上面的代码没有显示任何flash消息。但是,当Session::flash('success', '数据已成功保存!');写为:Session::put('success', 'Data has saved successfully!');

显示flash提示信息且不消失。

routes.php是:

路线:集团(["中间件"=>[网络]],函数(){

Route::get('auth/login', ['as' =>'login', 'uses'=>
     'AuthAuthController@getLogin']);
Route::post('auth/login', 'AuthAuthController@postLogin');
Route::get('auth/logout', ['as' => 'logout', 'uses' =>
    'AuthAuthController@getLogout']);

Route::get('auth/register','AuthAuthController@getRegister');
Route::post('auth/register','AuthAuthController@postRegister');

Route::get('password/reset/{token?}',
    'AuthPasswordController@showResetForm');
Route::post('password/email',
    'AuthPasswordController@sendResetLinkEmail');
Route::post('password/reset','AuthPasswordController@reset');
Route::get('contact', 'PagesController@getContact');
Route::get('about', 'PagesController@getAbout');
Route::get('/', 'PagesController@getIndex');

Route::get('reader/{slug}', ['as' => 'reader.single', 'uses' =>
    'ReaderController@getSingle'])
     ->where('slug', '[wd-_]+');

Route::get('reader', ['as' => 'reader.index', 'uses' =>
    'ReaderController@getIndex' ]);
Route::resource('posts', 'PostController');
});

请帮助!

1。-确保是否在视图中包含消息模板,在本例中是SHOW视图2.-尝试替换你的消息模板:

@if(Session::has('success'))
    <div class="alert alert-success" role= "alert">
        <strong>Successful:</strong>
            {!! session('success') !!}
    </div>
@endif
@if(count($errors) > 0)
    <div class="alert alert-danger" role="alert">
        <strong>Errors:</strong>
            <ul>
                @foreach($errors as $error)
                    <li>  {{ $error }} </li>
                @endforeach
            </ul>
    </div>
@endif

看,我用的是{!!会话(成功的)! !}而不是你的

最新更新