Содержание страницы
домикГлавная / Элементы html и css / Вывод php на html
вывод php на htmlСтатья посвящена тем, у кого рукописный сайт, то есть сделан сайт своими руками без применения каких-либо движков (WordPress, Joomla и прочих), или созданный с помощью различных конструкторов.

Вывод php на html странице - это возможность упростить управление сайтом в целом, а так же проставить необходимые коды на сайт для будущего расположения на нем различных блоков, например: что-то по сайту, или те же рекламы в виде баннеров, тизеров и контекста.
Что в конечном итоге сэкономит ваше время на выполнение задач по различным дополнениям по сайту.
Чтобы было понятней, приведу простой пример: у вас уже функционирует сайт и он имеет 10-50 страниц (условно). Вы решили добавить на каждую страницу, например: какой-то блок с нужной информацией для вас, и блок контекстой рекламы (для получения с сайта денег). И в этом случае вам придёться перелапатить весь сайт - все его страницы для добавления этих блоков. Задача конечно выполнима, но трудоёмка и времени и нервов уходит "будь здоров".

Прошло время, и сайт стал хорошо посещаем посетителями - класс! И вы решаете ещё монетизировать его - т.е. добавить ещё рекламу, например баннерную или тизерную. И что - опять лопатить все страницы? А вы представляете, если у вас не 10-50 страниц, а уже 100 или 200?

Или даже элементарные вещи: вы со временем просто захотели изменить своё меню или подвал сайта, - и опять та же история...

Для удобства и решения этих проблем и применяется вывод php на html странице.
Вот и я столкнулся с этой проблемой и стал думать как её решить раз и навсегда! И решение оказалось довольно простым - вывод информации через PHP.

Как вывести php на html странице?
Не пугайтесь - у меня сайт тоже на HTML и ничего там сложного нет.

Поясню сначала как это работает:
после внедрения php на html вам для изменения / дополнения какого-либо фрагмента на сайте достаточно будет изменить ТОЛЬКО один файл и эти изменения / дополнения сразу отобразятся на всех ваших страницах.
Круто, да!?

А теперь пришло время разобрать вывод PHP на HTML.

Для начала нужно проверить - как ваш сайт обрабатывает PHP запросы.

Откроем в главной директории файл .htaccess ( если такого файла нет, то обязательно создаем его ) и добавляем туда в самый верх следующий код:
.htaccessCOPY
RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml
Далее создайте в главной директории ( где главная страница ) папку, например: php ( потому как файлов там может быть достаточно много, и эта папка будет для вашего же удобства ).

Теперь откройте эту папку и создайте файл 1.php и добавьте в него короткую запись:
html в phpCOPY
<b>ПРОВЕРКА PHP ЗАПРОСА</b>
Сохраните этот файл обязательно в кодировке UTF-8.

И последнее, добавьте на главной странице в любое место код php:

phpCOPY
<?php include ('php/1.php'); ?>
Теперь, если вы откроете главную страницу, то там должна быть отображена наша запись:

ПРОВЕРКА PHP ЗАПРОСА

и это будет свидетельствовать о том, что запросы php у вас обрабатываются без проблем.

Если запись не отобразилась, то данный код для .htaccess вам не подходит и вам нужно обратиться в тех. поддержку своего Хостинга, чтобы они предоставили код для файла .htaccess для вывода php типа include на html страницах ( они обязательно помогут и бояться здесь нечего ).

И затем заменить предоставленный мною код на полученный от тех. поддержки.

А теперь мы приступим непосредственно к нужному выводу информации на наших страницах.

Автоматизация сайта посредством PHP.

Как правило, у нас не изменная часть любой страницы сайта - это контент, а всё остальное: шапка, меню, сайбар и подвал сайта рано или поздно подлежит различным дополнениям, либо изменениям.

Так вот эти элементы, которые изменяются, мы и сделаем через PHP.
Допустим ( условно конечно ), ваш сайт имеет такую структуру:
htmlCOPY
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Заголовок</title> </head> <body> <div class="shapka"> Шапка сайта: логотип, название сайта </div> <div class="menu"> Горизонтальное меню сайта </div> <div class="main"> Контент страницы </div> <div class="footer"> Подвал страницы </div> </body> </html>
И в данном примере мы сделаем автоматизироваными, то есть будем выводить через PHP эти эелементы: шапка, меню и подвал.

Для этого создадим в папке php следующие файлы:

shapka.php, menu.php и footer.php.

И пропишем в каждом из них соответствующий код html.

К примеру в файле shapka.php сделаем такую запись:
html в phpCOPY
<div class="shapka"> Шапка сайта: логотип, название сайта </div>
И так же аналогично для всех остальных файлов php.

А в главной странице ( она уже у нас будет шаблоном для всех последующих страниц ) пропишем уже такой код:
htmlCOPY
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Заголовок</title> </head> <body> <?php include ('php/shapka.php');?> <?php include ('php/menu.php');?> <div class="main"> Контент страницы </div> <?php include ('php/footer.php');?> </body> </html>
И теперь, если вы дополните, либо измените к примеру запись в файле menu.php, как ваше горизонтальное меню автоматом изменится на всех ваших страницах.

Я уверен вы уловили главную суть!
Точно таким же макаром делается и для вывода Рекламы на сайте.
Только здесь вы создаёте пустые файлы php, а в html прописываете как и предыдущие:

<?php include ('php/reklama.php');?>.

Пока этот файл пустой, то и отображаться на его месте в html ничего не будет соответственно.

А когда наступит время для вывода рекламы, вам останется лишь прописать в файл reklama.php необходимый код для её показа, и она сразу станет видимой так же на всех страницах сайта.
Совет:
Перед полной автоматизацией сайта, то есть перед применением вывода php на страницах html, посидите и хорошо продумайте, где в будущем вы планируете показ рекламы. Лучше создайте лишние php файлы и они потом так и остануться пустыми, чтобы потом не лопатить весь сайт для добавления упущенного элемента.

У меня к примеру, по 3 пустых php файла в каждом сайтбаре и в контекте, и каждый из них ждёт своей очереди для вывода. И на данный момент показывается только одна реклама в контекте в самом верху.
Дата публикации: 13.06.2018
Комментарии
Денис
25 июня 2018 13:10
Денис
Чуваааааак!
Спасибо тебе огромное!
я пол дня искал где собака зарыта...
Константин
26 июня 2018 08:21
Константин
Напишите чудакам, чтобы использовали для написания php не обычный блокнот, а хотя бы Notepad ++, сохраняя файлы без BOM, а то ведь ничего не заработает, а будет выдавать ошибку.
Admin
26 июня 2018 08:47
Admin
Эти мелочи нужно описывать при изучение html на первой стадии, а не в этой статье с выводом php. Потому как для таких, нужно ещё и объяснять - где находится эта галочка для снятия, и им пока сюда рановато.
Ну, а если таковые попадутся, - вот страница с описанием: кодировка для сайта.
Леонид
27 июня 2018 15:14
Леонид
Добрый день! Понравился вариант с вывоом PHP на html.
Хотел реализовать у себя на сайте. Всё вроде бы сделал правильно, но не вышло. Ошибок никаких не выдает, но и вывода информации на странице нет.

Поначалу при открытии страницы, она просто загружалась на компьютер, потом я прописал # в файле .htaccess и она стала открываться нормальным образом, но опять же без вывода.
Имеет ли значение версия PHP на сервере? У меня в настройках версия 5.6. Подскажите с чем еще может быть проблема? Может это связано с настройками PHP на сервере?
Если Вы не против, посмотрите скрины настроек.
Спасибо.
Admin
27 июня 2018 16:03
Admin
Здравствуйте!
Версия PHP с выводом PHP на странице не связана ни каким образом однозначно.
Скорее всего проблема с кодом в файле .htaccess

Как я и писал в статье, - в этом случае обратитесь в тех. поддержку вашего Хостера для получения нужного кода.
Леонид
27 июня 2018 19:29
Леонид
Спасибо, что направили в правильную сторону с .htaccess файлом и выводом PHP.
Все работает, всё выводится.
Это моя ошибка была - не прочитал инструкцию как пользоваться Хостингом.
Спасибо за Вашу работу и представленный на сайте материал!
Александр
9 февраля 2019 13:18
Александр
Здравствуйте.
Подскажите пожалуйста, какой вариант более правильный:
этот код php
phpCOPY
<?php include ('./php/reklama.php'); ?>
или этот код:
phpCOPY
<?php include ($_SERVER["DOCUMENT_ROOT"]."/php/reklama.php"); ?>
Или никакой разницы нет?
Admin
11 февраля 2019 12:49
Admin
Здравствуйте!
И тот и другой варианты правильные.
Только во втором варианте могут быть проблемы, то есть если не указать в .htaccess необходимую запись для RewriteBase, то может прописаться совершенно другой путь.
Добавить комментарий
Комментарий не отправлен!
Комментарий успешно отправлен!
После модерации он будет опубликован!
Имя - только русские буквы!
Это обязательное поле!