Первая страница (index.php) является как бы шаблоном. Остальные страницы в меню инклюдиться таким образом include("$inc"); Меню имеет вид $PHP_SELF?action=
В зависимости от линка присваиваются параметры
Тут же эти линки обрабатываются и инклюдится нужная страница. Например
if ($action == "states"){
$inc="states.php";
}
С этим впринципе проблем не возникает.
На странице states.php лежат линки с параметрами $PHP_SELF?action=states&st= в переменную st присваивается номер статьи. Все статьи лежат в каталоге states в htm. Така как у меня states.php инклудится, то все линки на states.php следовательно должны обрабатываться в index.php и инклудиться.
Например у меня в states.php лежит линк $PHP_SELF?action=states&st=01
Следовательно я дописал в index.php следующие строки:
if ($action == "states") {
$inc="states.php"
if ($st == $st and $st != "") {
$inc="states/$st.htm";
}
}
Получается что когда я жму на линк в инклуженном states.php инклудится статья /states/$st.htm (где $st номер статьи).
Вот впринципе и все. Если например сделать запрос
http://mysite.ru/index.php?action=st.../etc/passwd%00 нам выведется его содержимое
Надо же сделать если ввести что либо другое, то вместо /states/$st.htm инклудилась error.htm, или же как-то сделать подругому запрос.