VerifyCsrfToken.php第67行中的Laravel 5.2 TokenMismatchException

时间:2017-02-19 06:13:33

标签: php html laravel

我将处理表单中的数据 然后我点击添加按钮并收到错误 哎呀,看起来像出事了。 VerifyCsrfToken.php第67行中的TokenMismatchException:

我有观点

    

<form action="{{ url('siswa') }}" method="post">
  <div class="form-group">
    <label for="nisn" class="control-label">NISN</label>
    <input name="nisn" id="nisn" type="text" class="form-control">
  </div>

  <div class="form-group">
    <label for="nama_siswa" class="control-label">Nama Siswa</label>
    <input name="nama_siswa" id="nama_siswa" type="text" class="form-control">
  </div>

  <div class="form-group">
    <label for="tanggal_lahir" class="control-label">Tanggal Lahir</label>
    <input name="tanggal_lahir" id="tanggal_lahir" type="date" class="form-control">
  </div>

  <div class="form-group">
    <label for="jenis_kelamin" class="control-label">Jenis Kelamin</label>
      <div class="radio">
        <label><input name="jenis_kelamin" type="radio" value="L" id="jenis_kelamin"> Laki-laki</label>
      </div>
      <div class="radio">
        <label><input name="jenis_kelamin" type="radio" value="P" id="jenis_kelamin"> Perempuan</label>
      </div>
  </div>

  <div class="form-group">
    <input class="btn btn-primary form-control" type="submit" value="Tambah Siswa">
  </div>
</form>

然后这是我的控制器

public function create()
{
  return view('siswa.create');
}

public function store(Request $request)
{
  $siswa = $request -> all();
  return $siswa;
}

3 个答案:

答案 0 :(得分:1)

您需要在表单中添加{{csrf_field()}}。它将创建一个csrf令牌,这是提交表单所必需的

答案 1 :(得分:0)

您需要在表单标记之间添加此{{csrf_field()}}。请点击此处获取更多信息https://laravel.com/docs/5.4/csrf

答案 2 :(得分:0)

有很多选择可以解决这个问题。

1)您可以在表单内部为令牌隐藏输入字段,如:

{{ Form::token() }}

2)在表单的结束标记之前添加以下代码:

 {{ Form::open(array('url' => 'foo/bar')) }}
   //
 {{ Form::close() }}

3)或使用laravel表单语法来避免令牌不匹配问题,如下所示。

 <form method="POST" action="/profile">
 {{ csrf_field() }}
  ...
 </form> 

4)或者在html表单结构中,您也可以使用如下所示的csrf字段。

  <form method="POST" action="/profile">
      {!! csrf_field() !!}
  ...
  </form> 

5)或者最后。

dependencies {
   runtime fileTree(dir: 'libs', include: '*.jar')
}

这肯定会对你有用。

由于