【问题标题】:In Laravel 5, How to customize Session flash message with href在 Laravel 5 中,如何使用 href 自定义 Session flash 消息
【发布时间】:2016-05-18 15:27:19
【问题描述】:

如果用户没有通过电子邮件链接验证他的帐户,我将在我的登录刀片中显示请在登录前验证您的电子邮件

if ($user->is_verified == 0) {
    $request->session()->flash("failed", "Please verify your email before login );
    return redirect('/login');
}

在我的刀片中,我确实喜欢这样来接住它

@if (Session::has('failed'))
    <div class="alert alert-danger">
    {{Session::get('failed')}}.<br><br>
    </div>              
@endif

但现在我必须添加此消息请在登录前验证您的电子邮件或重新发送验证电子邮件,并使用 href 重新发送部分到路由。有什么想法吗?

【问题讨论】:

    标签: php session laravel-5.1


    【解决方案1】:

    最后我想出了对代码的一些小改动。

    我在刀片中的代码应该像这样更改。因为否则它不会接受 html 语法,只显示计划 html。这称为laravel escape html

    @if (Session::has('failed'))
         <div class="alert alert-danger">
         {!!Session::get('failed')!!}.<br><br>
         </div>
    @endif
    

    Md. Sahadat Hossain 答案是正确的。但是根据我的问题,我像这样更改了他的代码。

    if ($user->is_verified == 0) {                    
         $msg = 'Please verify your email before login or <a href="'. url("/resend_email").'">resend</a> the verification email';
         $request->session()->flash("failed",  $msg);
         return redirect('/login');
     }
    

    现在它就像我想要的那样显示

    【讨论】:

      【解决方案2】:

      使用此代码

      在 route.php 中添加一个路由

      Route::get('/resend_mail', 'VerificationMailController@resend'); //replace with your desired location
      

      在 VerificationMailController.php 中

      public function resend(){
           //do your resend verification mail code
      }
      

      比在你想显示重发消息的地方使用这个代码

      if ($user->is_verified == 0) {
      $resendurl = route('resend_mail'); //here replace the route of your email verification send route.
      $msg = 'Please verify your email before login or <a href="'.$resendurl.'">resend</a> the verification email';
          $request->session()->flash("failed",  $msg);
          return redirect('/login');
      }
      

      【讨论】:

      • 不不.. 我已经这样做了。如果用户不小心删除了他的验证电子邮件,他将无法登录到他的帐户。有时他忘记验证。所以在那条消息中我必须重新发送它
      • 我应该以哪种格式提供网址。例如:- 我的路线是 /resend_mail
      • 查看更新后的代码。我想你现在应该知道如何处理它了
      • 但是我看到是这样的请在登录前验证您的电子邮件或重新发送验证电子邮件。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 2020-10-18
      • 2017-01-08
      • 1970-01-01
      相关资源
      最近更新 更多