За последние 24 часа нас посетили 60724 программиста и 1743 робота. Сейчас ищут 914 программистов ...

Отображение страниц через include

Тема в разделе "PHP для новичков", создана пользователем aziz, 25 окт 2008.

  1. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Здраствуйте, нужен совет. я сделал не большой сайтик для себя, пока на локалке, ивозникла маленькая проблема, для того что бы не повторять дизайн я сделал одну страничку index.php а в неё с помошью штсдгву подключаю нужные, так вот в чём проблема, всё работает на ура но только если, к примеру, я набираю страничку page-1.php то она открывается без проблем, то есть не в теле index.php? помогите пожалуйста, мне нужно что бы страницы открывались только в теле первой страницы, то есть www.test.ru/index.php?id=page-1.php а не www.test.ru/page-1.php
    вот код:
    PHP:
    1. <? Error_Reporting(E_ALL & ~E_NOTICE);
    2.   $arr = array("main.php", "page-1.php","page-2.php", "page-3.php");
    3.   if (!isset($_GET['id']))
    4.    include ("main.php");
    5.  elseif (in_array($_GET['id'],$arr))
    6.    include ($_GET['id']);
    7. ?>
    8.  
    Буду весьма благодарен за любой совет.
    С Уважением.....
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Если на сервере есть mod_rewrite, а он вероятнее всего есть, то сделай так: в файле .htaccess напиши:
    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.     RewriteEngine on
    3.  
    4.     RewriteRule ^(main|page-\d).php$ ?id=$1.php [QSA,L]
    5. </IfModule>
    .htaccess надо создать в директории сайта рядом с твоим index.php.

    upd а, забыл. Делает он следующее: смотрит если в УРЛе указан main.php или любой page-ЦФРА.php, то перенаправляет запрос на index.php?id=файл.php
     
  3. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    вообще твой скрипт должен работать правильно.
    может с путями что-то?
    где лежат page_*.php?
     
  4. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    скрипт работает правильно, просто если вместо www.test.ru/index.php?id=page-1.php набрать просто www.test.ru/page-1.php он выдаёт содержимое этой страницы, и мне нужно что бы пользователь так не смог сотреть страницы, дизайн теряется
     
  5. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    а если вместо page-1.php идут к примеру list.php, text.php я должен их всех прописовать main|page-\d, list, text...?