html — Laravel 5.2 TokenMismatchException в строке VerifyCsrfToken.php 67

Я буду обрабатывать данные из формы
тогда я нажимаю кнопку добавления и получаю ошибку
Упс, похоже, что-то пошло не так.
TokenMismatchException в строке VerifyCsrfToken.php 67:

у меня есть вид

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

1

Решение

Есть много вариантов решения этой проблемы.

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>

Это определенно будет работать для вас.

Спасибо

0

Другие решения

вам нужно добавить {{csrf_field ()}} внутри формы. он создаст токен csrf, необходимый для отправки формы

1

Вам необходимо добавить это {{csrf_field ()}} между тегами формы. Для получения дополнительной информации прочтите здесь. https://laravel.com/docs/5.4/csrf

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector