【问题标题】:Laravel 5.2 TokenMismatchException in VerifyCsrfToken.php line 67VerifyCsrfToken.php 第 67 行中的 Laravel 5.2 TokenMismatchException
【发布时间】:2018-04-01 03:58:26
【问题描述】:

我将处理表单中的数据 然后我点击添加按钮并得到一个错误 哎呀,看起来像出事了。 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;
}

【问题讨论】:

  • 您还需要发送 csrf 令牌和您的帖子数据,请问如何?

标签: php html laravel


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您需要在表单标签之间添加此 {{ csrf_field() }}。阅读此处了解更多信息https://laravel.com/docs/5.4/csrf

    【讨论】:

      【解决方案3】:

      有很多方法可以解决这个问题。

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

      <input type="hidden" name="_token" value="{{ csrf_token() }}" />
      

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

      {{ Form::token() }}
      

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

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

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

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

      5) 或者最后。

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

      这绝对适合你。

      谢谢

      【讨论】:

        猜你喜欢
        • 2016-10-30
        • 1970-01-01
        • 1970-01-01
        • 2016-09-03
        • 2017-09-24
        • 1970-01-01
        • 2016-07-27
        • 2016-04-24
        • 1970-01-01
        相关资源
        最近更新 更多