Обработка допустимых $_GET
Всем привет.
Есть сайт на котором все ссылки вида mysite.com/yyyyyyyy То есть если что то вдруг такое mysite.com/yyyyyyyy/ или такое mysite.com/yyyyyyyy/ххххх То 404 ошибка Но вот незадача. Есть страницы наборов типа mysite.com/yyyyyyyy/page1...n Для того что бы их обрабатывать делаю проверку типа: $acceptIndex = unserialize (INDEX); !in_array($this->index, $acceptIndex) $this->index хранит как раз часть урла (THIS_PART) mysite.com/THIS_PART а хранятся слова так: define ("INDEX", serialize (array ("news", "doctors"))); Короче все классно, но как сделать так что бы например я сделал тот же массив и для GET вида mysite.com/?search=YYYYY mysite.com/?404 Не хочу их писать руками, а то условия будут на пол страницы) Благодарен за любую мысль. |
/* Проверка наличия ключевого слова по массиву определенных значений */ protected function checkGetIncluding() { $acceptGet = unserialize (GET); foreach($acceptGet as $index => $get) { if(isset($_GET[$get])) { return true; } } return false; } && ! self::checkGetIncluding() define ("GET", serialize (array ("404", "search"))); Может лучше что прийдет в голову? |
function compliance($x = array(), $externalData) return array_intersect_assoc($x, $externalData) == $x; } и соответственно примеры. 1 аргумент - значение - массив условий, второе где проверяем. Результат True если все условия из массива находятся в, $externalData, иначе False if(compliance(array('option'=>'com_content', 'view'=>'article'), $_GET){} if(compliance(array('page'=>'1'), $_POST){} |
очешуенно
|
Часовой пояс GMT +3, время: 14:24. |