【问题标题】:Laravel 8 Redirect back with message not working in blade templateLaravel 8重定向回来,消息在刀片模板中不起作用
【发布时间】:2021-03-20 23:01:33
【问题描述】:

当我尝试在刀片模板中获取消息时,我正在使用 Laravel v8.16.1 和 PHP v7.3.1。

@if(session('error'))
    <div class="alert alert-success alert-dismissible">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <h5><i class="icon fas fa-ban"></i> Success!</h5>
        {{ session('success') }}
    </div>
@endif

使用下面的代码,它对我有用。

$req->session()->flash('error', 'Invalid Username or Password');
return view('admin.views.login');

但是,这不是正确的方法,当我尝试使用以下代码重定向回来时,它不起作用

return redirect()->back()->with('error', 'Invalid Username or Password');

请帮忙看看有什么遗漏或有什么问题?

【问题讨论】:

  • 您正在传递error 会话,但显示success 会话?
  • 这只是输入错误,我编辑了问题并设置错误而不是成功,但代码不起作用@HTMHell
  • 如果您混淆了会话变量名称,可能它们仍然在您的视图缓存中混淆了。尝试使用php artisan view:clear 清除它。您还应该编辑您的问题以修正拼写错误,以避免混淆所有其他试图提供帮助的人。
  • 我尝试了 php artisan view:clear 但仍然无法正常工作@Don'tPanic
  • 我遇到了同样的问题。在我的例子中,它与一个名为 touchswipe 的 JavaScript 插件冲突。删除该插件解决了我的问题。

标签: php laravel-blade laravel-8


【解决方案1】:

你可以用来显示错误

@if(count($errors) > 0 )
<div class="alert alert-danger alert-dismissible fade show" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
  <ul class="p-0 m-0" style="list-style: none;">
    @foreach($errors->all() as $error)
    <li>{{$error}}</li>
    @endforeach
  </ul>
</div>
@endif

重定向代码是

return redirect()->back()->withErrors(['errors' => 'There is some error in the details.']);

【讨论】:

  • 你在使用缓存吗?
  • 不确定,这是默认的laravel安装,我正在学习laravel
猜你喜欢
  • 2021-02-28
  • 2014-11-15
  • 2016-12-18
  • 2016-03-11
  • 2013-06-04
  • 1970-01-01
  • 2017-07-31
  • 2013-02-03
  • 2018-05-28
相关资源
最近更新 更多