【问题标题】:How to show Save success message in Laravel 5.1?如何在 Laravel 5.1 中显示保存成功消息?
【发布时间】:2015-09-06 19:45:26
【问题描述】:

在 Laravel 5.1 中,我可以将数据保存在数据库中。但我想显示一条成功消息。我该怎么做?我在控制器保存代码中的代码是

public function store(Request $request)
{

    $this->validate($request,[
        'name'=>'required|unique:seeders|max:255',
        'address'=>'required`enter code here`',
        'age'=>'required',
    ]);

    $seeder=new Seeders();
    $seeder->name=$request->input('name');
    $seeder->address=$request->input('address');
    $seeder->age=$request->input('age');
    $seeder->save();

    return redirect()->route("photo.index");
} // save data

【问题讨论】:

  • 保存 $seeder 后,您正在重定向用户,但要显示成功消息,您需要一个视图。而不是重定向,您应该使用成功消息呈现视图。在该视图中,您可以插入一个链接,以便用户可以转到“photo.index”

标签: php laravel


【解决方案1】:

在 Laravel 5.5 中你可以使用...

在您的控制器操作中:

...
return redirect('photo.index')->with('alert-success', 'The data was saved successfully');

然后在您的模板中,您可以使用会话助手:

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

【讨论】:

    【解决方案2】:

    只需在重定向代码之前添加此代码:

    $request->session()->flash('alert-success', 'User was successful added!');
    

    所以完整的代码如下:

    public function store(Request $request)
    {
        // your function
    
        $request->session()->flash('alert-success', 'User was successful added!');
        return redirect()->route("photo.index");
    }
    

    Laravel 5.4 关于 Flash 数据: https://laravel.com/docs/5.4/session#flash-data

    为了您的意见:

    <div class="flash-message">
        @foreach (['danger', 'warning', 'success', 'info'] as $msg)
          @if(Session::has('alert-' . $msg))
    
          <p class="alert alert-{{ $msg }}">{{ Session::get('alert-' . $msg) }} <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a></p>
          @endif
        @endforeach
      </div> <!-- end .flash-message -->
    

    您可以使用 Bootstrap Alerts 视图:http://www.w3schools.com/bootstrap/bootstrap_alerts.asp

    【讨论】:

    • 您可以将关闭锚点上的 href 更改为 javascript:void(0) 而不是 #,这将阻止点击在 Chrome 上滚动到顶部。
    【解决方案3】:

    最好的办法->https://github.com/laracasts/flash

    只要闪现('Message', 'info')

    【讨论】:

      【解决方案4】:

      使用关闭按钮显示成功消息:

      控制器代码:

      $seeder->save();    
      return redirect('photo.index')->with('status', 'You have successfully Created!');
      

      只需将以下代码粘贴到您的视图文件中即可。

      @if (session('status'))
              <div class="alert alert-success">
              <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> {{ session('status') }}
              </div>
          @endif
      

      【讨论】:

        【解决方案5】:

        使用代码

        return redirect()->route("photo.index")->with('message','Success');
        

        在你的模板中

        @if(session('message'))
          {{session('message')}}
        @endif
        

        【讨论】:

        • 如何让这条消息在短时间内出现
        • @SwR 你能多描述你的麻烦吗?您的消息出现但没有消失,或者您想在 1-2 或更多页面中显示此消息?
        • @SwR 查看如何使用类似于此的data-expires 属性:@if(session('message')) &lt;div data-expires="5000"&gt; {{session('message')}} &lt;/div&gt; @endif
        • @Ciuc:谢谢...:-)
        【解决方案6】:

        很简单

        public function store(Request $request)
        {
        
            $this->validate($request,[
                'name'=>'required|unique:seeders|max:255',
                'address'=>'required`enter code here`',
                'age'=>'required',
            ]);
        
            $seeder=new Seeders();
            $seeder->name=$request->input('name');
            $seeder->address=$request->input('address');
            $seeder->age=$request->input('age');
            $seeder->save();
        
            //PUT HERE AFTER YOU SAVE
            \Session::flash('flash_message','successfully saved.');
        
            return redirect()->route("photo.index");
        } // save data
        

        在您的主视图或索引中 添加这个。

        @if(Session::has('flash_message'))
            <div class="alert alert-success"><span class="glyphicon glyphicon-ok"></span><em> {!! session('flash_message') !!}</em></div>
        @endif
        

        如果你想拥有不同的闪光灯风格,请查看Flash Messages in Laravel 5

        【讨论】:

        • 我喜欢这种方法...我可能只是创建一个部分,以适应我想要的各种闪存消息/警报
        【解决方案7】:

        您可以重定向用户并向他显示 Flash 消息。该消息将通过这种方式可见{{ $message }}

        return redirect('user/login')-&gt;with('message', 'Success!');

        更多相关信息您可以找到here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-11-03
          • 2021-08-17
          • 2021-03-02
          • 1970-01-01
          • 2017-03-21
          • 1970-01-01
          • 2011-08-07
          • 2021-07-02
          相关资源
          最近更新 更多