重定向并在 laravel 中发送数据
Redirecting with sending Datas in laravel
我尝试了以下代码:如果用户的登录信息不正确,则使用消息再次将用户重定向到 loin 页面:
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
问题出在哪里?以及发送数据以通过重定向查看的最佳方式是什么?
使用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
由于您使用的是 laravel,因此可以通过使用 validators 和 return
来完成验证
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
您可以像这样使用输入发送错误消息
return redirect('http://localhost:8000/user/login')->with('err_msg', 'Your error message')->withInput();
来源:Laravel Redirects, Laravel Validate
注意:您还可以使用错误消息 like this
使用session
方法在laravel中设置session值,一定要使用,因为它是全局的,并且为整个站点设置session值。
同时 删除 http://localhost:8000
以在开发和生产中使用这条路线。
if (!$info_is_correct){
session('err_msg', 'your login info is not correct');
return redirect('/user/login');
}
并从会话中获取值作为 session('key')
{{session('err_msg')}}
我尝试了以下代码:如果用户的登录信息不正确,则使用消息再次将用户重定向到 loin 页面:
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
问题出在哪里?以及发送数据以通过重定向查看的最佳方式是什么?
使用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
由于您使用的是 laravel,因此可以通过使用 validators 和 return
来完成验证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
您可以像这样使用输入发送错误消息
return redirect('http://localhost:8000/user/login')->with('err_msg', 'Your error message')->withInput();
来源:Laravel Redirects, Laravel Validate
注意:您还可以使用错误消息 like this
使用session
方法在laravel中设置session值,一定要使用,因为它是全局的,并且为整个站点设置session值。
同时 删除 http://localhost:8000
以在开发和生产中使用这条路线。
if (!$info_is_correct){
session('err_msg', 'your login info is not correct');
return redirect('/user/login');
}
并从会话中获取值作为 session('key')
{{session('err_msg')}}