170 похожих чатов

Добрый день! Нужна Ваша помощь с одной проблемой в Laravel

8.6.12
У меня есть HomeController, который отрабатывает на маршрут «/» и данный контроллер создает рандомное число, записывает его в сессию и возвращает шаблон home.blade.php.
В шаблоне home.blade.php есть форма и когда я делаю отправку данной формы, то прежде чем следующий FormController начнет обрабатывать форму, непонятно почему вызывается старый HomeController, создает новое рандомное число и перезаписывает его в сессии. И уже в FormController я вижу новое число, хотя мне нужно старое, которое было до отправки формы. Что это может быть? Перечитал кучу форумов, то нигде толкового ответа нет. Пробовал оборачивать роуты в Route::group(['middlewareGroups' => ['web']], function () {}), то не помогло.

29 ответов

17 просмотров

сколько запросов и куда уходит при отправке формы? кто является родителем для FormController?Как дебажите?

Это такой себе велосипед против CORS?

Юрий- Автор вопроса
Vitaliy Marchenko
сколько запросов и куда уходит при отправке формы?...

Один запрос — обычная отправка формы на action=»/submit», где отрабатывает Route::post('/submit', FormController@submit). Нет родителя у FormController, он просто находится в папке Controllers вместе с HomeController. Все максимально просто без заморочек.

Юрий- Автор вопроса
Igor
Это такой себе велосипед против CORS?

С этим все в порядке, @csrf установлен . Просто не понятно почему снова вызывается HomeController и уже после него необходимый FormController.

Юрий
С этим все в порядке, @csrf установлен . Просто не...

Я скорее пытаюсь понять ценность решения, в котором рандомное число записывается в сессию и потом отправляется через форму. Возможно здесь проблема не в решении, а в самой идеи и можно решить задачу более элегантно.

Юрий
Один запрос — обычная отправка формы на action=»/s...

что происходит после того как форма засабмитилась?у вас же обычная отправка формы, без ajax? Если так, то все верно, вы отправляете форму и после отправки страница перезагружается, соответсвенно вы попадаете опятьв / и отрабатывает ваш HomeController

Юрий
Один запрос — обычная отправка формы на action=»/s...

сделайте отправку формы без перезагрузки страницы

Юрий- Автор вопроса
Vitaliy Marchenko
что происходит после того как форма засабмитилась?...

Да, без ajax. Т.е. после отправки формы, я снова возвращаюсь на "/", а потом уже на "/submit", который является action у формы?

Юрий
Да, без ajax. Т.е. после отправки формы, я снова в...

после отправки формы у вас снова грузится / страница на кторой эта форма находится, соответсвенно вы снова попадаете с HomeController и снова генерите число

Юрий- Автор вопроса
Igor
Я скорее пытаюсь понять ценность решения, в которо...

Данное рандомное число через форму не отправляется, оно должно храниться в сессии до отправки формы и не меняться после отправки формы, ибо будет происходит проверка кастомной каптчи с помощью этого заранее сгенерированного числа.

Юрий- Автор вопроса

Не особо, с этим числом я буду сравнивать насколько правильно пользователь прошел каптчу и какой из вариантов выбрал.

Юрий
Не особо, с этим числом я буду сравнивать наскольк...

Каптча для проверки формы это всего лишь одно из решений и не самое удачное в 2023 году. Можно использовать спам базы айпишников для оценки степени рисков, медовые ловушки и все это не будет бесить клиентов необходимостью считать, выстраивать или сравнивать.

Юрий- Автор вопроса
Vitaliy Marchenko
что делает ваш action по сабмиту?

Проверяет кастомную каптчу и если все ок, то делает запись в базу данных и платит пользователю немного крипты.

Юрий- Автор вопроса
Igor
Каптча для проверки формы это всего лишь одно из р...

Это я понимаю, но заказчик так захотел)

Юрий
Это я понимаю, но заказчик так захотел)

Чисто субъективно, это не совсем работа заказчика обеспечивать техническую безопасность системы ) Даже если он в школе кодил на Pascal )

Юрий
Проверяет кастомную каптчу и если все ок, то делае...

как я вам и написал, после всех манипуляций в экшене, ваша страница перезагружается и снова грузится / роут

Юрий
Проверяет кастомную каптчу и если все ок, то делае...

А почему нельзя проверить что в сессии этот ключ уже записан? Почему надо перезаписывать его каждый раз?

Юрий- Автор вопроса
Igor
Чисто субъективно, это не совсем работа заказчика ...

Этот дядя захотел вставить в проект несколько готовых каптч и попросил написать кастомную метаматическую каптчу на основе изображений. Он сам разработчик и вот так захотел.

Юрий- Автор вопроса
Igor
А почему нельзя проверить что в сессии этот ключ у...

Дело в том, что этот ключ не сохраняется в изначальном виде, а перезаписывается после перезагрузки страницы. Но как я уже понял, то нужно сделать сабмит без перезагрузки и все будет ок)

Юрий- Автор вопроса

Понял, спасибо! Просто в данном случае хотел избежать использования js, но вижу что без него никак)

Юрий
Дело в том, что этот ключ не сохраняется в изначал...

или в экшене редирект на страницу с результатом - success/fail

Юрий
Понял, спасибо! Просто в данном случае хотел избеж...

современное веб приложение без js не напишешь мне кажется, что у вас в целом проблема в логике приложения, на каком этапе генерить число, в каком контроллере выводить форму и результаты будет ли правильно работать ваше приложение если я просто перезагружу страницу в браузере? число ведь снова новое сгенерится

Юрий- Автор вопроса
Vitaliy Marchenko
современное веб приложение без js не напишешь мне...

Просто форма отправляется на другой маршрут, не на тот же самый. Вот в этом-то и проблема)

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Карта сайта