@csrf не работает в Laravel 5.4
Я следую этому руководству по Laravel и заметил, что не могу использовать команду @csrf, но другие могут использовать ее эффективно. Но я могу использовать {{ csrf_field() }} для токена csrf. Я хотел бы знать причину почему. Благодарю.
Вот мой скриншот с использованием команды @csrf: Изображение здесь
Вот мой index.blade.php
<form action="{{ route('contact.store') }}" method="post">
@csrf
<div class="col-md-6 mb-3">
<label for="username">Username:</label>
<input class="form-control" type="text" name="name" id="username" placeholder="Username | Email | Phone Number" required>
<div class="invalid-feedback">
Please provide a username
</div>
</div>
<div class="col-md-6 mb-3">
<label for="password">Password:</label>
<input class="form-control" type="password" name="name" id="password" placeholder="" required>
<div class="invalid-feedback">
Please provide a password
</div>
</div>
<div class="col-md-6 mb-3">
<input type="submit">
</div>
</form>
3 ответа
Насколько я знаю, в 5.4 нет @csrf, надо использовать
{{ csrf_field() }}
Вместо этого @csrf доступен в laravel 5.6
Аргумент @csrf пришел на лезвие с 5,6
вам нужно использовать csrf_field()
метод вместо @csrf
для получения дополнительной информации ознакомьтесь с документами
Laravel 5.4 доступен только по этой ссылке https://laravel.com/docs/5.4/csrf
{{ csrf_field() }}
А Laravel 5.6 доступен по этой ссылке https://laravel.com/docs/5.6/csrf
@csrf
Если вы использовали laravel framework версии 5.6, 5.5 или ниже версии 5.5, вам следует написать{{ csrf_field() }}
, но если вы использовали версию фреймворка laravel 5.7, 5.8
или выше версии 5.7 вы должны написать @csrf
Laravel 5.5, 5.6 => напишите {{csrf_field()}}
Laravel 5.7 или больше 5.7 => написать @csrf