@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 - это выбор цели.
И, если цель пропала, то... сами понимаете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 12:03
75000 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект