@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 на ней
  • Вопрос задан
  • 162 просмотра
Решения вопроса 2
irishmann
@irishmann
Научись пользоваться дебаггером
Есть такое правило, всегда проверяй что приходит от пользователя. Пост, гет не важно.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Разумеется, нужна.
Т.к. GET - это цель.
А POST - это выбор цели.
И, если цель пропала, то... сами понимаете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы