Выполняем скрипт только на определенной странице

Категория: PHP Комментариев: 2

Очень часто встречаю на различных форумах такой вопрос:

Как сделать так, чтобы PHP-скрипт выполнялся только на определенной странице сайта?

На статичных сайтах эта проблема решается легко — скрипт просто вставляется в нужную html-страницу. А что делать в случае использования какой-то CMS, когда скрипт автоматически инклудится на всех страницах? (обычно этот вопрос задается качательно блогов на движке WordPress)
И для этого случая есть простое решение.

Адрес текущей страницы (без http:// и имени домена) находится в переменной $_SERVER['REQUEST_URI']. Например, для этой страницы ее содержимое будет равно /2009/03/vypolnyaem-skript-tolko-na-opredelennoj-stranice/.
Чтобы выполнять скрипт только на определеннной странице нужно просто сравнивать содержимое этой переменной с интересующим значением:
<?php if ($_SERVER['REQUEST_URI'] == '/2009/03/vypolnyaem-skript-tolko-na-opredelennoj-stranice/')
{
// Ваш скрипт
while (1) echo "Hello, world!";
}
?>
В этом случае все, что находится между фигурными скобками будет выполняться только на странице http://2lx.ru/2009/03/vypolnyaem-skript-tolko-na-opredelennoj-stranice/

А что если нужно выполнять скрипт опять-же не на всех страницах, а только на тех, в названии которых встречается только определенный текст?
В этом случае отца русской демократии спасет PHP-функция strstr (). На вход этой функции передается исходная строка и строка-паттерн, чье наличие нужно проверить в исходной строке. Если строка-паттерн встречается в исходной строке, то функция возвращает true, а если нет — false.
<?php if (strstr($_SERVER['REQUEST_URI'], '/2009'))
{
// Ваш скрипт
while (1) echo "Hello, world!";
}
?>

Код между фигурными скобками будет выполняться только на тех страницах, названия которых начинаются с 2009.

Остались вопросы? Задавайте!

ЗЫ: А Вы не забыли подписаться на RSS?

Автор: Кто-то   @   29 марта 2009 Комментариев: 2
Метки :

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 2

Комментарии
марта 29, 2009
12:56
#1 Andrey K. :

вопросы есть)))

нахрена while (1) ?

Автор марта 29, 2009
15:29
#2 Кто-то :

Для оооочень громкого приветствия мира))

Каждый новоиспеченый программер обязан поприветствовать мир ^_^

оставить комментарий

Предыдущая запись
«
Следующая запись
»