Вывод кода только при определённом URL

Тема в разделе "PHP", создана пользователем Veles, 21 июл 2013.

  1. Veles

    Veles

    Регистрация:
    27 янв 2013
    Сообщения:
    212
    Симпатии:
    141
    Уважаемые программисты, подскажите, пожалуйста.
    У меня на сайте есть модуль, он отображается на всех страницах в футере, однако необходимо что бы в зависимости от того какой урл страницы - выводился определённый код. А именно на странице site.ru/test в футере выводилась таблица, а если страница не test - то таблицы не должно быть.

    С меня плюсик за любую наводку как это сделать. Спасибо.
     
  2. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    PHP:
    <?php if ($_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI'] == $_SERVER["HTTP_HOST"].'/test') {
    echo 
    'Таблица';
    }
    ?>
     
    Veles нравится это.
  3. Veles

    Veles

    Регистрация:
    27 янв 2013
    Сообщения:
    212
    Симпатии:
    141
    Не смог сделать так что бы ваша конструкция заработала, вышло таким методом:
    PHP:
    <?php
    $pos 
    strpos(strtolower($_SERVER['REQUEST_URI']), "testurl");
    if (
    $pos === false) {
    ?>
    Текст если не наша страница
    <?php }
    else
    ?>
    Текст если наша страница
    <?php
    }
    ?>
     
    ndr334 нравится это.
  4. Ogplan

    Ogplan

    Регистрация:
    17 сен 2018
    Сообщения:
    0
    Симпатии:
    0
    Специально зарегистрировался, что-бы сказать спасибо за код! Пол дня искал и лучшее что нашел это сравнение урлов <?php if($_SERVER['REQUEST_URI'] ==, но ваш код, это то, что нужно!
    Отличается тем, что можно указывать не точный URL а лишь корневую папку, полезно когда страниц тысячи и они постоянно прибавляются (страницы пользователей, объявлений, товаров и т.д.)
     
  5. miketomlin

    miketomlin

    Регистрация:
    17 дек 2013
    Сообщения:
    4
    Симпатии:
    1
    Ogplan, так это поиск подстроки в любой позиции исходной строки. Если нужно совпадение с началом, используте ===0 или ===1 (в зависимости от наличия ведущего слэша в искомой строке). Кроме того, произвольное совпадение с началом может давать некорректные результаты. Если хотите охватить целый раздел, нужно проверять к примеру первый компонент пути, т.е. содержимое пути между ведущим и последующим слэшами.

    Вы все это с помощью обычных ветвлений собрались разруливать? Используйте адресные шаблоны (роуты) или делите поступающий адрес на составные части и используйте БД. Для начала рекомендую вот этот движок: G-Drive DBE 3 – могу сделать вам инвайт, если захотите потестировать. Кстати, там можно писать например так:
    PHP:
    if ($p0==='testurl')
    Причем данные страниц, разделов и т.п. выбираются автоматом, а код выше вы используете, если нужно к примеру подсветить в шаблоне пункт меню и т.п.
     
  6. DoloyJJ

    DoloyJJ

    Регистрация:
    31 окт 2017
    Сообщения:
    11
    Симпатии:
    0
    Забрал к себе в копилку!