my-profile.blade.php中的表单如下所示:
<form id="profile-form" role="form" method="POST" action="{{ route('myprofile.store') }}">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<div class="col-md-6">
<label for="first_name">First Name</label>
<input type="text" class="form-control" id="first_name" placeholder="First Name" value="{{$currentUser->first_name}}" required>
</div>
...
<button type="submit" class="btn btn-primary">Save</button>
</form>
web.php文件:
Route::resource('myprofile', 'MyProfileController');
MyProfileController控制器:
public function store(Request $request)
{
Log::info("request:");
Log::info($request);
Log::info("input:");
Log::info(Input::all());
}
记录请求并输入后:
local.INFO: request:
[local.INFO: array (
'_token' => 'S0u7OzktqMS5zVLr9WHwIq52EhGfZKoQWRD6XlCR',
)
local.INFO: input:
local.INFO: array (
'_token' => 'S0u7OzktqMS5zVLr9WHwIq52EhGfZKoQWRD6XlCR',
)
这就是我得到的。 我也试过{{csrf_token()}},输出是一样的。 控制器的存储功能运行,因此操作设置正常。 可能是什么问题?
答案 0 :(得分:3)
我认为您的输入中没有名称属性。
答案 1 :(得分:1)
试试这个:
<form id="profile-form" role="form" method="POST" action="{{ route('myprofile.store') }}">
{{csrf_field() }}
<div class="col-md-6">
<label for="first_name">First Name</label>
<input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name" value="{{$currentUser->first_name}}" required>
</div>
<button type="submit" class="btn btn-primary">Save</button>
</form>
控制器:
public function store(Request $request)
{
dd($request->get('first_name'));
}