Доброго времени суток всем, возник вопрос такого характера: имеется огромное количество страниц с URL адресоми типа site.ru/avto-nissan.html либо site.ru/avto-mazda.html и так далее. То есть в адресе страниц будет меняться только слово идущее после avto- и до .html. Дизайн этих страниц будет один и тот же, НО у каждой страницы будет несколько элементов, которые меняются в зависимости от "марки машины" указанной в URL, т.е. являются динамическими элементами на этих страницах. Предполагается в местах этих динамических элементов вставить переменные, в которых и будет появляется информация которая необходима для каждой страницы (CMS сайта позволяет сделать это штатными средствами, название CMS - DLE 9.4). Пример кода HTML страницы: Код (Text): <div class="header"> <div class="wrapp"> <div class="logo"> <span class="ahref ah_main"></span> <p>Ваш верный помощник в сфере выбора АВТО</p> </div> <div class="vo_head"> {BLOCK1} </div> <div class="clr"></div> </div> </div> Там где находится элемент {BLOCK1} будет вставляться контент из PHP файла. Т.е. на странице с адресом site.ru/avto-nissan.html в {BLOCK1} будет выведена одна информация, а на странице с адресом site.ru/avto-mazda.html будет выведена другая информация. В PHP файле я заранее создаю переменные с нужной информацией, что бы потом эта информация появлялась на HTML странице в {BLOCK1}. Дабы не запутаться, каждое имя переменной будет совпадать с названием "марки машины" в URL. Теперь на примере, что бы точно было понятно: У меня есть страница с URL адресом site.ru/avto-mazda.html, скрипт получает из URL слово "mazda" ищет переменную с этим названием, и выводит в {BLOCK1} контент из этой переменной. Как сделать вывод информации из переменной в {BLOCK1} на HTML странице я знаю. Но вот как сделать что бы название этой переменной бралось именно из URL адреса не знаю. К сожалению знания в PHP очень малы. Как я это примерно представляю: 1) Создаются переменные типа $mazda, $nissan и так далее, которые заполняются нужной информацией. 2) Скрипт получает адрес страницы из $_SERVER['HTTP_REFERER'] 3) Отбирает слово, которое получилось между site.ru/avto- и .html 4) Если это слово совпадает с одной из переменных, которую я заранее создал в скрипте, то она приравнивается к переменной, которая отвечает за вывод информации в {BLOCK1} на HTML странице 4) На HTML странице в месте {BLOCK1} выводится информация содержащаяся в переменной. Еще проще: Пользователь зашел на страницу site.ru/avto-mazda.html, скрипт отобрал слово mazda из URL, и вывел в месте {BLOCK1} информацию, которая находилась в переменной $mazda. Если бы была страница site.ru/avto-nissan.html, то соответственно в {BLOCK1} была бы подгружена информация из переменной $nissan. Постарался объяснить как можно подробнее. Заранее спасибо за помощь.
Re: Изменение переменных в зависимости от URL адреса страниц Реферер это предыдущая страница. REQUEST_URI вам нужна. Можно даже через рерайт конфиг апача - все так делают.
Re: Изменение переменных в зависимости от URL адреса страниц Спасибо, а путем простого вырезания слова, которое получилось между site.ru/avto- и .html никак нельзя получить это слово из $_SERVER['REQUEST_URI'], не подскажете?
Похоже тут вообще ему регулярки нужны. Раз тут уже такой расклад " avto-mazda " - получается, что нужно знать, что - это авто (не чайники), а якобы через " - " марка машины? Походу, что - то в этом духе: Код (PHP): $matches=array(); $uri=basename('/avto-mazda.html'); //$uri=basename($_SERVER['REQUEST_URI']); preg_match('/(.+)-(.+)\..+/',$uri,$matches); print_r($matches); Array ( [0] => avto-mazda.html [1] => avto [2] => mazda )