laravel中的表单提交无效并显示令牌不匹配异常

问题描述 投票:0回答:3

我是新的学习者。我在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";
}
php forms laravel-5
3个回答
0
投票

您必须为令牌添加输入隐藏字段。将您的视图更改为:

<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>

0
投票

你能否确保你的/storage目录有正确的写权限(0755)?如果您使用的是Linux,则可以通过sudo chmod 0755 -R storage/进行更改

另外,请尝试不转义csrf_field()值。而不是{{ csrf_field() }}尝试{!! csrf_field !!},因为该辅助函数吐出HTML


0
投票

试试这个。表格。

<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();
}
© www.soinside.com 2019 - 2024. All rights reserved.