Laravel没有提交数据

时间:2017-03-12 19:23:40

标签: php laravel

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()}},输出是一样的。 控制器的存储功能运行,因此操作设置正常。 可能是什么问题?

2 个答案:

答案 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'));
}