我尝试了以下代码:如果要登录的用户信息不正确,请将用户重新定向到腰部页面并显示一条消息:
if (!$info_is_correct){
$_SESSION['err_msg'] = 'your login info is not correct';
return redirect('http://localhost:8000/user/login');
}
这是我在登录页面(视图)中所做的,以回显错误消息:
@isset($_SESSION['err_msg'])
<div class="alert alert-danger mt-2" style="font-family:IRANSans;font-size:16px ;">
<p>
<strong>خطا !</strong>
{{$_SESSION['err_msg']}}
<?php unset($_SESSION['err_msg']) ?>
</p>
</div>
@endisset
问题在哪里?什么是通过重定向将数据发送到视图的最佳方式?
答案 0 :(得分:2)
使用with()
方法:
return redirect('http://localhost:8000/user/login')->with('err_msg', 'your login info is not correct');
如果有观点:
@if (session('err_msg'))
<div>{{ session('err_msg') }}</div>
@endif
答案 1 :(得分:1)
由于您正在使用laravel,因此可以通过使用validators完成验证并简单地返回
redirect()->back()->withErrors($validator)
从视图中您可以访问$errors
变量,该变量将包含所有错误,
你可以循环错误变量并打印错误
从您的登录视图
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
答案 2 :(得分:1)
您可以这样做,使用输入
发送错误消息return redirect('http://localhost:8000/user/login')->with('err_msg', 'Your error message')->withInput();
来源:Laravel Redirects,Laravel Validate
注意:您还可以使用错误消息like this
答案 3 :(得分:0)
使用session
方法在laravel中设置会话值,请务必使用,因为它是全局的,并为整个站点设置会话值。
删除 http://localhost:8000
以便在开发和制作中使用此路线。
if (!$info_is_correct){
session('err_msg', 'your login info is not correct');
return redirect('/user/login');
}
获取价值表格会话
{{session('err_msg')}}