За последние 24 часа нас посетили 22240 программистов и 1059 роботов. Сейчас ищут 702 программиста ...

Использовать один файл index.php для отображения всего

Тема в разделе "PHP для новичков", создана пользователем Konstant1n, 11 янв 2018.

  1. Konstant1n

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

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Ребят, помогите пожалуйста, без Вас никак.
    Хочу реализовать следующее...
    Есть файл index.php и хотел бы все отображать через этот файл: сами страницы (например, главная, об авторе ...), список категорий, сами статьи и т.д. Вроде бы это называется одна точка входа и выхода?

    Вот, например, есть такие ссылки на странице index.php. Апельсины, Бананы, Яблоки - это категории. Как правильнее articles/1 или categories/1?
    HTML:
    1.  
    2. <a href="articles/1">Апельсины</a>
    3. <a href="articles/2">Бананы</a>
    4. <a href="articles/3">Яблоки</a>
    5.  
    Как сделать так, чтобы при нажатии, например, на "Апельсины", на этой же странице вывести информацию из таблицы articles где id = 1, т.е. вывести все записи категории "Апельсины". В таблице все норм., связи настроены, запрос написать смогу.

    Категории - categories: Апельсины, Бананы, Яблоки.
    Записи - articles.

    Мне содержимое адресной строки обрабатывать?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Для начала попробуй сделать на простых GET_запросах.
    ?articles=3

    А потом уже, когда поймешь, как работает, пробуй делать ЧПУ, если оно вообще нужно тебе будет.
     
  3. karmay

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

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    Вот мой первый сайт как раз то, о чем ты говоришь, у меня разные страницы через GET аля switch инклудятся. Если что пиши.
     
  4. Konstant1n

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

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    с помощью parse_url?
    PHP:
    1. $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    2. $parseUrl = parse_url($url);
    3. $parseUrl['qiery'] => arg = value
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Почитай про массивы $_GET и $_POST.
     
  6. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Мне вот непонятно зачем тоже самое делают в MVC разбирая этот запрос регуляркой беря его из $_SERVER['REQUEST_URI'] ?
     
  7. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    можно брать не из _SERVER))
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Гибче. Но вообще, это не часть паттерна, это традиция реализации.
     
    keren нравится это.
  9. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    я так делаю..
    PHP:
    1. RewriteEngine on
    2. RewriteCond %{REQUEST_FILENAME} !-f
    3. RewriteCond %{REQUEST_FILENAME} !-d
    4. RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
    Код (Text):
    1.         $uri = (string) filter_input(INPUT_GET, 'route');
     
    keren нравится это.
  10. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Так у тебя рерайт тоже ведь из _SERVER, только 'REQUEST_FILENAME' ;)