Задать вопрос

Проверки массива $_GET

Всем привет. Хочу реализовать навигацию на PHP через GET. Будет она вида : "host.ru/?page=page_id", где page_id и есть страница. Все вроде бы получается через switch, но, хочется, чтобы при отсутствии страницы показывало 404. Я пытался реализовать это, но в итоге у меня получилось over 9000 if. Помогите пожалуйста написать проверку. У меня есть, к примеру список допустимых параметров и их значений и если соответствуют моим, то идём дальше, а если нет, то 404. Скорее всего вопрос не ясен, но если Вы хотите помочь, то можете связаться , например, по Skype, RK и т.д. (Задам пару вопросов в Skype и отстану))
З.Ы.: Отвечают только реально знающие люди с хорошим опытом, дабы меня не спутать) Знаю, что вопрос получился кашей, простите уж)
  • Вопрос задан
  • 2487 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
А зачем вам проверка, если у Вас 9000 if?

При помощи ветвления if у Вас реализован "белый список". Просто не обрабатывайте данные, которые не входят в условия if и будет всё нормально
Ответ написан
@cmx
Могу порекомендовать свою библиотеку для таких целей. Если ваша проблема, выглядит действительно так, как вы ее описали, то это будет простым решением.
https://github.com/comm1x/phpvalidator
Финальный код будет выглядеть примерно так:
<?php
try {
   Validator::filter($_GET, array(
      // здесь вы описываете правила валидации
   ));
} catch (ValidationException $e) {
    show404(); // отправляем 404
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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