Задать вопрос
@QNA-1976

Как бы Вы организовали логику: нужна ли двойная проверка?

Адресной строкой GET параметрами выбрана миссия, теперь:
public function missionAction()
{
   // Поместить СЮДА теперь обработку POST для этой миссии и дополнительно проверять доступность миссии на основании уже POST данных?
    try {
        $this->mObj->checkMission(); // проверили наличие доступной миссии по GET параметрам
    } catch (DomainException $e) {
        $this->alertRedirect('danger', $e->getMessage(), "/operation-{$this->mObj->oid}/missions"); // редирект к списку доступных миссий, если выбранная по GET параметрам недоступна
    }
    // Или поместить обработку POST данных СЮДА и сразу их использовать для работы с БД, так как доступность миссии уже проверена на основании GET данных?
    $this->setSite('Миссия');
    $site = $this->site;
    $user = $this->mObj->user;
    $mission = $this->mObj->mission;
    $this->setVars(compact('site', 'user', 'mission'));
}

В комментариях к коду собственно вопросы.

Уточнение: на момент отправки POST мы уже находимся в missionAction (/mission-2 например), то есть проверка по GET отработала при переходе на страницу, теперь нужно отправить POST на ней
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
irishmann
@irishmann
Научись пользоваться дебаггером
Есть такое правило, всегда проверяй что приходит от пользователя. Пост, гет не важно.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Разумеется, нужна.
Т.к. GET - это цель.
А POST - это выбор цели.
И, если цель пропала, то... сами понимаете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽