5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel の419エラーの解決法

Last updated at Posted at 2023-04-25

このエラーの背景

ユーザーの編集機能を作っていたときに419のエラーが発生しました。
最初はエラーが謎すぎて詰まってしまいましたが、記事を見つけて解決できました。

エラー画面

スクリーンショット 2023-04-25 9.12.18.png

エラー原因

調べてみたらLaravelが持つtokenの値とPOSTする_tokenパラメータが一致しないことが原因みたいです。

解決策

@csrfがbladeに無いかformの外側になっていたことが原因でした。
これが圧倒的に多いみたいです。自分の場合です。

edit.blade.php
@extends('layouts.app')
@section('content')
    <h2 class="mt-5 mb-3">ユーザ情報を編集する</h2>
    @csrf
    <form method="POST" action="{{ route('users.update', $user->id) }}">
    @method('PUT')
    @include('commons.error_messages')
//省略

こんな感じでした。以下に修正しました。

edit.blade.php
@extends('layouts.app')
@section('content')
    <h2 class="mt-5 mb-3">ユーザ情報を編集する</h2>
    <form method="POST" action="{{ route('users.update', $user->id) }}">
    @csrf
    @method('PUT')
    @include('commons.error_messages')
//省略

これで解決しました。1番多い原因みたいです。

他の原因と解決法

1.単純なセッションの期限切れ
ブラウザを更新すると解決できるみたいです。

2.ブラウザの再起動
文字通りブラウザの再起動です。

3.configのキャッシュが残っている
キャッシュクリアをする必要があります。

php artisan cache:clear 
php artisan config:clear

詳しくは参考資料を読んでください。

資料

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?