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

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

Как сделать так, чтобы 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?

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

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

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

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

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

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>