如果用户未通过电子邮件链接验证其帐户,我在我的登录刀片中显示请在登录前验证您的电子邮件。
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 重新发送部分到路由。有什么想法吗?
答案 0 :(得分:1)
使用此代码
在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');
}
答案 1 :(得分:0)
最后,我想出了对代码的这些小改动。
我在刀片中的代码应该像这样改变。因为否则它将不接受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');
}
现在它像我想要的那样显示