我是新的学习者。我在laravel 5.4中创建了一个表单,并添加了两个字段,一个是textfield,另一个是submit按钮。我已经为表单提交创建了一个名称路由。但是当我提交表单时,它显示令牌不匹配异常。我无法从我的代码中找出错误。这是我的表单代码。
<form method="post" action="{{route('f.submit')}}">
{{csrf_field()}}
<input class="form-control" type="text" name="fname">
<input type="submit" name="submit" value="Create">
</form>
这是我的路线,
Route::post('formsubmit','HomeController@formSubmit')->name('f.submit');
在这里我的控制器,
public function formSubmit()
{
echo "Form Submitted";
}
您必须为令牌添加输入隐藏字段。将您的视图更改为:
<form method="post" action="{{route('f.submit')}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input class="form-control" type="text" name="fname">
<input type="submit" name="submit" value="Create">
</form>
你能否确保你的/storage
目录有正确的写权限(0755)?如果您使用的是Linux,则可以通过sudo chmod 0755 -R storage/
进行更改
另外,请尝试不转义csrf_field()值。而不是{{ csrf_field() }}
尝试{!! csrf_field !!}
,因为该辅助函数吐出HTML
试试这个。表格。
<form method="post" action="{{route('f.submit')}}">
{{csrf_field()}}
<input class="form-control" type="text" name="fname">
<input type="submit" name="submit" value="Create">
在控制器中。
public function formSubmit(Request $request)
{
$request->all();
}