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

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

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

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

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