Я хочу использовать тег формы в структуре laravel, как показано ниже.
<form method="post" action="<?php echo 'SongController@savenew';?>">
но после отправки выдает ошибку
TokenMismatchException в строке 53 VerifyCsrfToken.php:
Я хочу использовать тег формы в структуре laravel, как показано ниже.
<form method="post" action="<?php echo 'SongController@savenew';?>">
но после отправки выдает ошибку
TokenMismatchException в строке 53 VerifyCsrfToken.php:
Вам необходимо включить в форму токен CSRF следующим образом:
Laravel упрощает защиту вашего приложения от подделок межсайтовых запросов. Подделка межсайтовых запросов — это тип вредоносного эксплойта, при котором несанкционированные команды выполняются от имени пользователя, прошедшего проверку подлинности.
Laravel автоматически генерирует токен CSRF для каждого активного пользовательского сеанса, управляемого приложением. Этот токен используется для проверки того, что аутентифицированный пользователь действительно делает запросы к приложению. Чтобы сгенерировать скрытое поле ввода _token, содержащее токен CSRF, вы можете использовать вспомогательную функцию csrf_field:
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
Запрос формы Laravel всегда требует токена csrf
Использовал
<Form method="post" action="">
{{ csrf_field() }}
</Form>
Вам нужно использовать конструктор форм Laravel. Поскольку для этого требуется токен CSRF (подделка межсайтовых запросов), но когда вы создаете форму вручную, токен не добавляется в html, вам нужно добавить токен вручную ie. <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
, но немного безопаснее использовать стандарт Laravel :
<?= Form::open(['controller' => 'SongController@savenew', 'method' => 'POST']); ?>
<?= Form::close(); ?>
Если вы используете блейд (рекомендуется):
{!! Form::open(['controller' => 'SongController@savenew', 'method' => 'POST']) !!}
{!! Form::close(); !!}
Form
не является стандартом Laravel 5. Это было брошено Тейлором. OP может выбрать laravelcollective/html
в Laravel 5.
- person user2094178; 28.07.2015
Form
и Html
— это всего лишь генераторы html-сниппетов, и в конечном итоге они вызывают сильное мнение сообщества. Неважно, как вы это сделаете, массы будут все время жаловаться. Это не стоило времени и сил.
- person user2094178; 29.07.2015