【问题标题】:Success message is not showing after submitting form提交表单后未显示成功消息
【发布时间】:2020-08-31 08:11:19
【问题描述】:

Laravel 控制器 我在控制器中的插入数据方法

$category = array(
   'name' => $request->name,
   'code' => $request->code,
   'image' => $image_name
);
     Category::create($category,$image_name);

            return Redirect::to('/category')->with('success','Record 
                  inserted successfully');

laravel 视图 我要显示消息的索引视图

             @if($message = Session::get('success'))
                           <div class="alert alert-success">
                             <p>{{$message}}</p>
                          </div>
              @endif

Route.php Route::resource('/category', 'CategoryController');

【问题讨论】:

  • 这对我们来说还不够。据我们所知,该会话变量尚未设置。请阅读How to create a Minimal, Reproducible ExampleHow do I ask a good question 并相应地编辑您的问题。
  • 你使用的是什么版本的 Laravel?您的路由是否应用了 StartSession 中间件?
  • 您可以在控制器中使用flash 来定义Session,如下所示:\Session::flash('success', 'text');,然后不返回with
  • 请详细描述一下怎么做??提前致谢

标签: php laravel


【解决方案1】:

试试这样的:

<div class="panel panel-default">
    @if (session('success'))
        <div class="alert alert-success">{{ session('success') }}</div>
    @endif
</div>

【讨论】:

    【解决方案2】:

    尝试:

    @if(session()->has('success'))
        <div class="alert alert-dismissable alert success" style="background: white;">
            <button type="button" class="close" data-dismiss="alert" aria-label="close">
                <span aria-hidden="true">&times;</span>
            </button>
            <strong>
                {!! session()->get('success') !!}
            </strong>
        </div>
    
    @endif

    【讨论】:

      【解决方案3】:

      试试这个,应该可以的。

      路线

      Route::get('category', 'CategoryController@index')->name('category');

          $category = array(
              'name' => $request->name,
              'code' => $request->code,
              'image' => $image_name
          );
          Category::create($category, $image_name);
      
          return redirect()->route('category')->with('success', 'Record inserted successfully');
      

      成功消息查看

      @if($message = Session::get('success'))
      <div class="alert alert-success">
          <p>{{$message}}</p>
      </div>
      @endif
      

      【讨论】:

      • 我正在使用如下资源路由 .Route::resource('/category', 'CategoryController');
      • 然后使用return redirect()->route('category.index')->with('success', '记录插入成功');像这样
      【解决方案4】:

      大家好,非常感谢您回复我我从下面的链接中得到了解决我所说的问题的方法 Laravel 5.2 Validation Error not appearing in blade

      【讨论】: