php - 输入在 Laravel 中不起作用时重定向回来

标签 php laravel laravel-5

我有一个名为“postContact”的路由帖子,当帖子成功时,我重定向到放置帖子的同一个 contact.blade.php:

<form action="{{ route('post_contact) }}"></form>

如果帖子成功,我想看到一条消息,但 Input::get('some data') 对我不起作用。

这是我的 Controller 简历:

public function postContact($params) {
 //if successful
 $msg_params = array(
      'msg_type' => 'success',
      'msg_text' => 'my text to show',
  );

  return redirect()->back()->withInput($msg_params);
}

但是在 contact.blade.php 中这不起作用:

@if(isset($msg_type))
<div class="alert">{{ $msg_text }}</div>
@endif

变量不存在...

我不想在这里使用 flash 数据,因为 contact.blade 是另一个外部应用程序 laravel 的模块,无法共享 session 。

这里发生了什么?

最佳答案

因为进行重定向,这些变量是在 session 中设置的。所以你可以尝试:

@if(Session::has('msg_type'))
<div class="alert">{{ Session::get('msg_text') }}</div>
@endif

如果你不想使用 session 变量,那么你可以使用路由参数。您可以使用 Request 外观获取参数:

@if(Request::has('msg_type'))
<div class="alert">{{ Request::get('msg_text') }}</div>
@endif

关于php - 输入在 Laravel 中不起作用时重定向回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37406924/

相关文章:

php - php/mysql 查询的计数和求和

javascript - 搜索未给出确切结果,Javascript

php - 如何为 Laravel 5.2 Eloquent 模型编写 "on duplicate key update"?

php - Laravel 和远程挂载点 (sshfs)

php - 如何在 Laravel 中正确安装包?

php - Foreach inner When 查询 Laravel

php - 为什么我不能将 PHP 类实例存储为 SESSION 变量

php - 搜索特定的SQL表,然后在此结果中搜索行

javascript - google.visualisation 未使用 ajax 定义

mysql - Vagrant SSH - 设置并连接到 MySQL