PHP REQUEST_URI — разный текст в зависимости от адреса страницы

php request uri - PHP REQUEST_URI - разный текст в зависимости от адреса страницы

Есть неприятная особенность при разбивке сайта на include() — из-за особенностей дизайна приходится переносить элементы шаблона на страницу с текстом. Например, DIV-блок, в который внедрен тег H1 и его никак не получается переделать.

Такой подход приведет к тому, что в будущем, когда мы захотим переписать шаблон, нам придется лазить по всем файлам с текстом и сносить этот кусок кода. Так вот, есть решение — PHP

Скрипт определяет текущий УРЛ и подставляет текст из переменной по условиям ниже:

<?php
//Для уменьшения объема кода задаем пепеменной $rurl определение текущей страницы, 
//т.е. того, что идет после http://sitename.dn/вот_эту_часть

$rurl = $_SERVER["REQUEST_URI"];

//Задаем условие: если текущий урл совпадает с адресом из переменной $rurl, т.е. текущей страницей,
//то выводим текст из переменной $pagename
if (($rurl=="/") || ($rurl=="/index.php" )){$pagename="Главная страница";}
if (($rurl=="/register.php" ) || ($rurl=="/reg" )){$pagename="Регистрация";}
if (($rurl=="/stats.php" ) || ($rurl=="/stat" )){$pagename="Статистика";}
if (($rurl=="/members.php" ) || ($rurl=="/mem")){$pagename="Аккаунт";}

if ($rurl=="/403.php"){$pagename="Ошибка 403";}
if ($rurl=="/404.php"){$pagename="Ошибка 404 ";}

//Выводим текст на странице
echo"$pagename";

/*
 Задаем файлу любое имя, например pagename.php и вставляем на сайт через инклуд следующей конструкцией:
 <? include('pagename.php'); ?> 
*/
?>

В комментариях к скрипту описана вся последовательность действий. Если вы очень далеки от PHP то достаточно просто включить \»логику\» и через две минуты скрипт станет понятен любому! Так же вы можете скачать готовый пример!

В DLE эту функцию выполняет один из тегов встроенного метаязыка

Читайте также

Похожие записи

IDE — как найти идеальную для себя редактор кода
Каждый, кто работает с PHP кодом в определенный момент осознает, что привычные реакторы, для написания HTML / CSS / JS...
Автоматизация мелких продаж, CMS или самописная платформа?
В свое время баловался переделкой движков и плагинов финансовых проектов (CAP, MLM) и была проблема с автоматизацией продаж. Точнее, с...
PHP 7.2 — добавлен новый алгоритм хэширования, удален Mcrypt
В PHP 7.2 добавлен алгоритм хэширования нового поколения, который вскоре может вытеснить Bcrypt, а также удалена библиотека шифрования Mcrypt и...
PHP — ротатор объемных кодов (переосмысление)
Изучив PHP до уровня между middle и junior и перечитывая старые статьи порой становится стыдно за тот бред, который когда-то...
PHP — делаем проверку наличия HTTPS или редирект
Задача: Не всегда получается настроить .htaccess для принудительного редиректа на протокол HTTPS и как-то необходимо выкручиваться! Если мы знаем, где находится код, отвечающий за роутинг...

Комментарии

  1. @kzmko пишет:
    12.11.2016 в 21:50

    Скажите пожалуйста, как извлечь имя файла из $_SERVER["REQUEST_URI"] и вставить в условие IF.

  2. @devarts пишет:
    13.11.2016 в 15:25

    Цитата: kzmko
    Скажите пожалуйста, как извлечь имя файла из $_SERVER["REQUEST_URI"] и вставить в условие IF.

    Что за имя файла, дайте пример. Данная запись определяет текущую страницу сайта, осоно не привязываясь к домену, т.е. в случае с данной страницей

    441-php-raznyy-tekst-v-zavisimosti-ot-adresa-stranicy.html

  3. @kzmko пишет:
    13.11.2016 в 18:05

    Спасибо за участие. Меня интересует php-сценарий при котором передается какой-либо параметр. Условно адрес может иметь такой вид: http://site.ru/article.php?id=9.

  4. @devarts пишет:
    15.11.2016 в 21:18

    Цитата: kzmko
    Спасибо за участие. Меня интересует php-сценарий при котором передается какой-либо параметр. Условно адрес может иметь такой вид: http://site.ru/article.php?id=9.

    
    if($_GET['id'] == 9){
         // код, если условие выполнилось
    }
    

    если нужно проверить сразу два ключа, например:
    http://site.ru/article.php?id=9&world=sometext

    
    if($_GET['id'] == 9 && $_GET['world'] == 'sometext' ){
         // код, если условие выполнилось
    }
    

    && — и
    || — или

    GET — получает передаваемый параметр в адресе.

    так формируются короткие новости, да и вообще, практически все:

    логика (на самом деле все гораздо сложнее) для коротких новостей дле:

    
    if($_GET['category'] == 'mycategory'){
        foreach($category as $cat){
          // выводить shortstory.tpl
       }
    }
    
  5. @kzmko пишет:
    16.11.2016 в 04:45

    Спасибо за совет, попробую то, что вы предлагаете.

  6. @terwixonse пишет:
    12.05.2019 в 08:55

    Help. I am looking for guide

  7. @Олег пишет:
    26.06.2019 в 11:04

    а что нужно добавить что бы выводился текст «по умолчанию» то есть на всех других урл не соответсвующих условиям?

    • @devarts пишет:
      26.06.2019 в 14:16

      Проверить сейчас нет возможности, попробуйте объявить переменную
      $pagepame = ‘Текст по умолчанию’;
      до начала условий, вот сюда:

      $rurl = $_SERVER["REQUEST_URI"];
      
      $pagepame = 'Текст по умолчанию';
      
      if(//some code){}

      • @Олег пишет:
        26.06.2019 в 17:29

        да. спасибо, работает… но только с двойными кавычками

        • @devarts пишет:
          27.06.2019 в 05:16

          странно, кавычки особой роли не играют и больше нужны для экранирования противоположных кавычек. Я двойные вообще не использую т.к. шифт зажимать нужно 🙂
          А в тексте кавычек нет?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *