1

我有两种不同观点的两种形式。我想将表单输入发布到第二个视图,然后在发布第二个表单后返回到第一个表单。

我已经使用如下所示的路线设置了一个测试:

Route::get('/test1', function() {
    return View::make('test1');
});

Route::post('/test2', function() {
    $flash = Input::get();
    return View::make('test2')->with('flash', $flash);
});

Route::post('/test1', function() {
    return View::make('test1')->with('flash', $flash);
});

我只能通过$flash一次。我误解了为什么我不能再次通过它。我觉得我必须重新提取它?

4

2 回答 2

2

您需要在其中添加一个表单字段/test2并重新提交 $flash 数据,以便/test1通过 POST 将其传递给。这是一个新请求,否则应用程序将丢失 $flash var。

另一种方法可能是将 $flash 存储在会话中,Session::put('flash', $flash);并在下一个请求中访问它。

于 2013-06-13T14:13:13.413 回答
2

最好的方法是将数据存储在会话中。它将在多个请求中可用。使用 Input::flash() 只能在下一个请求之前使用。有关Input::flash()Session,请参阅 Laravel 文档

于 2013-06-13T14:55:52.657 回答