Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Навигация по сайту. Get
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
Дело в том, что на сайте навигация происходит с помощью гет-запросов (index.php?id=pageName1&page1).
Чтобы юзер не сжульничал (index.php?id=pageName1&page1&page2), надо все время проверять
if(isset($_GET['pageName1']) and isset($_GET['page1']) and !isset($_GET['pageName1'])){
#code...
}
(про empty это понятно, просто писать не стал). И когда у вас страниц 20 таких, это достаточно неудобно..
Есть какой-то способ сократить эти длинные условия?
----- In Console We Trust. Code hard. Or die.
AlexAnder
Отправлено: 09 Сентября, 2012 - 11:59:22
Частый посетитель
Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012 Откуда: Россия
Глупо, часть кода была приведена для примера.(Чтобы ТС понял, что нужно использовать page=id, а не pageid) Данные для вывода на страницу должны браться из БД
Покинул форум
Сообщений всего: 50
Дата рег-ции: Янв. 2010
Помог: 3 раз(а)
Почему глупо использовать switch вместо if elseif если всего один параметр, тем более switch чуть быстрее, if elseif хорошь при проверки нескольких параметров, типа
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
Bio man подсказал решение на проверку запроса. Ненужно строить конструкции elseif, а уж тем более switch.
Заметьте, при каждом новом добавлении ключа, придётся строить новый if на проверку.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.