За последние 24 часа нас посетили 18112 программистов и 1662 робота. Сейчас ищут 1700 программистов ...

Связать файлы админки с помощью include

Тема в разделе "Прочие вопросы по PHP", создана пользователем easy163, 5 авг 2012.

  1. easy163

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

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Проблема вот в чем, В папке с админкой есть индексный файл, в котором написано
    define("AUTH", TRUE);
    что бы другие файлы админки не открывались на прямую, в других написано
    defined('AUTH') or die ('Restricted access');.

    В индексном файле файлы админки (типа добавить страницу, настройки и т.д.) выводятся с помощью include таким способом
    if(isset($_GET['listpage'])) {
    include("../admin/page/listpage.php"); //Список страниц
    } elseif... и т.д. Тоесть идет перебор по введенному url, в этом куске кода указано что если в адресе введено ?listpage то требуется вывести в индексном файле страницу со списком существующих страниц.

    Проблема в том что эта конструкция слишком большая, хоть и работает быстро, можно ли её заменить на что то другое по функционалу (типа перебора из массива и т.д.?)

    И как можно ещё организовать связь файлов админки, но обязательно что бы была защита на прямой доступ
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Контролер загрузки пишите.
    Чтобы само все проверяло по создаваемым условиям, страниц и т.д.
     
  3. easy163

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

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    А можно хоть какую то информацию как это делается?
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Можешь на что-то типа такого заменить, если хочешь добиться сокращения кода:
    Код (PHP):
    1. $pages = array(
    2.     'listpage',
    3.     'users'
    4.     // и т.д.
    5. );
    6. foreach($pages as $page) {
    7.     if(array_key_exists($page, $_GET)) {
    8.         include('../admin/page/' . $page . '.php');
    9.         break;
    10.     }
    11. } 
     
  5. Professor

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

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Читай про MVC