Как подключить PHP к HTML?

PHP — это встраиваемый серверный язык программирования. Большая часть его синтаксиса заимствована из C, Java и Perl. А также добавлена пара уникальных характерных только для PHP функций. Основная цель этого языка — создание динамически генерируемых PHP HTML страниц.

PHP в HTML

При создании сложных веб-страниц вы столкнетесь с необходимостью объединить PHP и HTML для реализации конкретных задач. На первый взгляд это может показаться сложным, так как PHP и HTML являются двумя независимыми дисциплинами, но это не так. PHP предназначен для взаимодействия с HTML, и его код может быть включен в разметку страницы.

В HTML-страницы PHP-код включается с помощью специальных тегов. Когда пользователь открывает страницу, сервер обрабатывает PHP-код, а затем отправляет результат обработки (не сам PHP-код) в браузер.

HTML и PHP довольно просто объединить. Любая часть PHP-скрипта за пределами тегов <?php ?> игнорируется PHP-компилятором и передается непосредственно в браузер. Если посмотреть на пример, приведенный ниже, то можно увидеть, что полный PHP-скрипт может выглядеть следующим образом:

<head></head>
<body class="page_bg">
Привет, сегодня <?php echo date('l, F jS, Y'); ?>.
</body>
</html>

Приведенный выше код — это обычный HTML с небольшим фрагментом PHP, который выводит текущую дату, используя встроенную функцию date. При этом весь HTML будет игнорироваться PHP-компилятором и передаваться в браузер без изменений.

Интегрировать PHP в HTML действительно очень легко. Помните, что скрипт — это HTML-страница с включением определенного PHP кода. Можно создать скрипт, который будет содержать только HTML (без тегов <?php ?>), и он будет нормально работать.

Более продвинутые методы:

<html>
<head></head>
<body>
<ul> 
<?php for($i=1;$i<=5;$i++){ ?>
<li>Menu Item <?php echo $i; ?></li> 
<?php } ?>
</ul> 
</body>
</html>

и результат:

PHP в HTML с помощью short_open_tag

Если нужно максимально сократить код, перед тем, как в PHP вставить HTML, вы можете использовать short_tags. В результате не нужно будет вводить <?php в начале кода, сократив это выражение до <?. Чтобы включить опцию, необходимо обновить файл php.ini и переключить значение параметра «short_tags» с «Off» на «On«. Хотя на большинстве серверов этот параметр уже включен, всегда лучше проверить это вручную. Проблема, которая может возникнуть при использовании коротких тегов — это конфликт при использовании XML. В XML синтаксическое выражение <? обозначает запуск функции обработки. Чтобы обойти эту проблему, можно использовать альтернативный тег <?=.

PHP в HTML с помощью short__tag

<html>
<head></head>
<body class="page_bg">
Hello, today is <?=date('l, F jS, Y'); ?>.
</body>
</html>

Имейте в виду, что если нужно создать сайт, совместимый с максимальным количеством платформ, при вставке PHP в HTML не стоит полагаться на short_tags.

HTML в PHP с использованием echo

Еще один способ интеграции HTML в PHP-файл — команда echo:.

Возможное, но не рекомендуемое использование:

<?php
echo "<html>";
echo "<head></head>";
echo "<body class="page_bg">";
echo "Hello, today is ";
echo date('l, F jS, Y'); //other php code here echo "</body>";
echo "</html>";
?>

Это повлияет на подсветку разметки в большинстве редакторов. Поэтому необходимо выделять все двойные кавычки внутри HTML-кода с помощью обратной косой черты.

PHP в HTML — расширения файлов

Файл, содержащий PHP в HTML, должен иметь расширение .php.Также можно настроить файл .htaccess для чтения PHP-кода в HTML-файлах без изменения расширения. Ниже приведены «обработчики«, которые нужно добавить, чтобы настроить эту функцию.

Для стандартно настроенного веб-сервера:

AddHandler cgi-script .html .htm

Для веб-сервера с запущенным FastCGI:

AddHandler fcgid-script .html .htm

HTML в PHP

Также можно использовать HTML-код в PHP-скриптах. Все, что нужно сделать, это при открытии страницы с помощью PHP изменить порядок открывающихся тегов HTML и PHP.

Использование HTML в PHP:

<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
?>
<html>
<head>
<title>Personal INFO</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
First Name:<input type="text" size="12" maxlength="12" name="Fname"><br />
Last Name:<input type="text" size="12" maxlength="36" name="Lname"><br /></form>
<?
echo "Hello, ".$Fname." ".$Lname.".<br />";
?>

Такая вставка PHP в HTML позволяет использовать намного меньше кода. Здесь мы используем глобально $PHP_SELF, что позволяет использовать значения полей, указанные под ними, в том же файле. Как правило, для таких форм создается два файла: первый — сама HTML-форма, а второй — PHP-файл, который выполняет обработку.

Если у вас уже есть сложные PHP-приложения, которые используют большое количество файлов, и вы хотите упростить, этот метод может помочь.

Пожалуйста, опубликуйте ваши комментарии по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, подписки, отклики, дизлайки, лайки!

Пожалуйста, оставляйте свои комментарии по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, отклики, лайки!

Данная публикация является переводом статьи «PHP in HTML» , подготовленная редакцией проекта.

Подписаться
Уведомить о
guest
5 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Programmer

<script type="php">
echo "Hello! I am PHP- code"
</script>

Евгений

Вставки кода php в код html работают отлично. Но ВАЛИДАТОРЫ воспринимают вставку как ошибка. Ибо <? есть синтаксис XML. Как обойти эту проблему

Sheff

<h1>Thanks< /h1>

Владимир Плеханов

Кто нибудь помогите с кодом чтобы посетитель мог просматривать профиль других посетителей

Андрей

не <?php echo $PHP_SELF;?>">, а <?php echo $_SERVER['PHP_SELF'];?>">

Циатата с php.net:
"Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером.
....................
'PHP_SELF'
Имя файла скрипта, который сейчас выполняется, относительно корня документов. Например, $_SERVER['PHP_SELF'] в скрипте по адресу http://example.com/foo/bar.php будет /foo/bar.php. Константа __FILE__ содержит полный путь и имя файла текущего (то есть подключенного) файла. Если PHP запущен в командной строке, эта переменная содержит имя скрипта, начиная с PHP 4.3.0. Раньше она была недоступна."

'PHP_SELF' - это индекс переменной-массива $_SERVER.

А с вашим кодом показывает ошибку на undefined variable

Меню
Posting....