Перш ніж читати нижче, переконайтеся, що у вас є @csrfабо {{ csrf_field() }}у формі,
як
<form method="post">
@csrf <!-- {{ csrf_field() }} -->
... rest of form ...
</form>
Повідомлення про помилку сеансу закінчилось або 419 сторінки закінчилось у larvel, оскільки десь не вдається перевірити маркер csrf, що означає, що App\Http\Middleware\VerifyCsrfToken::classпроміжне програмне забезпечення вже ввімкнено. У форму @csrfвже додано директиву про леза, що теж повинно бути добре.
Тоді інша область для перевірки - це сесія. Перевірка csrfмаркера безпосередньо пов’язана з вашим сеансом, тому ви можете перевірити, чи працює драйвер сеансу чи ні, наприклад, неправильно налаштований Redis може спричинити проблему.
Можливо, ви можете спробувати переключити драйвер сеансу / програмне забезпечення з вашого .envфайлу, підтримувані драйвери наведені нижче
Підтримувані драйвери сеансів у Laravel 5, Laravel 6 та Laravel 7 (посилання на документ)
file - сеанси зберігаються у сховищі / фреймворку / сеансах.
cookie - сеанси зберігаються в захищених, зашифрованих файлах cookie.
database - сеанси зберігаються в реляційній базі даних.
memcached/ redis- сеанси зберігаються в одному з цих швидких сховищ на основі кеш-пам’яті.
array - сеанси зберігаються в масиві PHP і не зберігатимуться.
Якщо ваша форма працює після перемикання драйвера сеансу, то з цим конкретним драйвером щось не так, спробуйте виправити помилку звідти.
Можливі схильні до помилок сценарії
Можливо, сеанси, засновані на файлах, можуть не працювати через проблеми з дозволами в /storageкаталозі (швидке гуглювання принесе вам рішення), також пам’ятайте, що встановлення 777 для каталогу ніколи не буде рішенням.
У випадку драйвера бази даних, ваше підключення до БД може бути неправильним, або sessionsтаблиця може не існувати або неправильно налаштована (неправильна частина конфігурації підтверджена проблемою згідно з коментарем @Junaid Qadir).
redis/memcached конфігурація неправильна або одночасно маніпулюється якимсь іншим фрагментом коду в системі.
Може бути гарною ідеєю виконати php artisan key:generateта сформувати новий ключ програми, який, у свою чергу, очистить дані сеансу.
Очистити кеш браузера ТВЕРДО , я виявив, що chrome і firefox є винуватцем більше, ніж я пам’ятаю.
Докладніше про те, чому ключі програми важливі
return;вас можна зателефонуватиreturn redirect()->back();. З того, що я бачу, програма не може робити нічого після запиту на публікацію. Можливо, ви можете перенаправити його на подання після обробки запиту.