Создание нескольких страниц из одного файла PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Создание нескольких страниц из одного файла PHP

Сообщение Slash » Вс апр 27, 2014 3:04 pm

Здравствуйте.
Как-то сам искал решение для создания нескольких страниц всего из одного файла, не прибегая к сложному коду, решение было довольно простым. Страницы разделяются условием.
А теперь в поисках этого решения некоторые спрашивают его у меня, появилась мысль написать об этом пост.
В общем, конкретно из одного файла создать несколько страниц не получится, так как на страницах будут присутствовать: картинки, будет прицеплен файл стиля (.css), если Ваш сайт на шаблонах, то туда ещё и шаблоны. Но если все эти детали опустить, то множество страниц получается из одного файла .php.
Для примера сделаем четыре страницы, это будет Главная страница, страница о SEO, про PHP и HTML. Ссылки на страницы у нас будут иметь такие адреса:
  • index.php
  • index.php?p=seo
  • index.php?p=php
  • index.php?p=html
Теперь сам файл код, который содержит в себе эти страницы и который мы поместим в файл index.php:

Код: Выделить всё

if (isset($_GET['p'])) 
{
    if ($_GET['p'] == 'seo') 
    {
        #Тут контент/код страницы seo: index.php?p=seo
    }
    if ($_GET['p'] == 'php') 
    {
        #Тут контент/код страницы php: index.php?p=php
    }
    if ($_GET['p'] == 'html') 
    {
        #Тут контент/код страницы html: index.php?p=html
    }
}
else 
{
    #Тут контент/код главной страницы
}

Вот и вся конструкция. За URL страницы отвечает, вот эта часть кода: if ($_GET['p'] == 'php'), а именно то что находится в кавычках, в данном случаи это php.
Вы запросто можете добавить еще несколько страниц, для этого перед:

Код: Выделить всё

else 
{
    #Тут контент/код главной страницы

добавляйте новый код:

Код: Выделить всё

    if ($_GET['p'] == 'xxx') 
    {
        #Тут контент/код страницы html: index.php?p=xxx
    } 

Естественно вместо: xxx, то что необходимо Вам.
Спасибо за внимание.
Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Создание нескольких страниц из одного файла PHP

Сообщение Slash » Вт дек 23, 2014 6:37 pm

Ещё один вариант разбития файла на несколько страниц:

Код: Выделить всё

switch ($_GET['p'])
{
    case 'seo':
        #Тут контент/код страницы seo: index.php?p=seo
    break;
   
    case 'php':
        #Тут контент/код страницы php: index.php?p=php
    break;

    case 'html':
        #Тут контент/код страницы html: index.php?p=html
    break;   
   
    default:
        #Тут контент/код главной страницы
    break;
}

Код главной страницы начинается после default и находясь на главной странице, переменная p будет неопределенна, сообщение ошибки:
Notice: Undefined index: p in /......../...../.. ....php on line xxx

Что бы ошибка не выходила, делаем так: перед:

Код: Выделить всё

switch ($_GET['p'])

добавляем:

Код: Выделить всё

$_GET['p'] = isset($_GET['p']) ? $_GET['p'] : null;

Либо подавляем ошибку знаком собаки (@):

Код: Выделить всё

switch (@$_GET['p'])

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость