Laravel 5输入旧是空的

bal*_*iri 7 php laravel laravel-5

我的路线在这里

Route::get('sign-up', ['as' => 'signUp', 'uses' => 'UserController@signUpGet']);
Route::post('sign-up', ['as' => 'signUpPost', 'uses' => 'UserController@signUpPost']);
Run Code Online (Sandbox Code Playgroud)

调节器

return redirect('signUp')->withInput();
Run Code Online (Sandbox Code Playgroud)

和观点

    <form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
</form>
Run Code Online (Sandbox Code Playgroud)

{{old()}}函数返回空值. 我
编辑

NotFoundHttpException in RouteCollection.php line 145:
Run Code Online (Sandbox Code Playgroud)

Lau*_*nce 18

您的问题看起来好像您实际上并未首先提交用户名:

<form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
</form>
Run Code Online (Sandbox Code Playgroud)

表单中没有"提交"按钮.如果您在表格外提交 - 那么username将不包括在内.

在表单中添加提交按钮 - 然后重试

<form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
        <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

编辑 - 您的控制器也是错误的.它应该是这样的:

 return redirect()->route('signUp')->withInput();
Run Code Online (Sandbox Code Playgroud)


小智 8

您所缺少的只是将输入Flash添加到会话中.这是在下一个请求期间可用的.

     $request->flash();
Run Code Online (Sandbox Code Playgroud)

在致电查看表单之前执行此操作.

资料来源:http://laravel.com/docs/5.1/requests#old-input

  • - > withInput()自动添加Request :: flash()/ $ request-> flash() (3认同)