Короткий ответ: PHP подключают к HTML не отдельной магической командой, а через файл с расширением .php. Внутри такого файла можно писать обычный HTML, а PHP-код вставлять между <?php и ?>. Сервер выполнит PHP и отдаст браузеру уже готовую HTML-страницу
Если файл называется index.html, сервер обычно не будет выполнять PHP-код внутри него. Для обычного учебного сайта сохраните страницу как index.php и открывайте ее через локальный сервер или хостинг
Минимальный пример
Создайте файл index.php
<?php
$title = 'Страница на PHP и HTML';
$name = 'Динар';
?>
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title><?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p>Здравствуйте, <?php echo $name; ?></p>
</body>
</html>
PHP подставит значения переменных в HTML. Браузер не увидит строку $title = ...; он увидит готовый результат
Как запустить такой файл
Откройте терминал в папке с файлом и выполните
php -S localhost:8000
Затем откройте в браузере
http://localhost:8000
Если открыть файл двойным кликом через file://, PHP не выполнится. Это будет обычное чтение файла с диска
Короткая вставка echo
В шаблонах часто используют короткую запись
<h1><?= htmlspecialchars($title, ENT_QUOTES, 'UTF-8') ?></h1>
Это то же самое, что вывести значение через echo. Для данных, которые могут прийти от пользователя, лучше сразу использовать htmlspecialchars(), чтобы не вывести на страницу опасный HTML
PHP внутри HTML-списка
<?php
$lessons = ['Установка PHP', 'Формы', 'Массивы'];
?>
<ul>
<?php foreach ($lessons as $lesson): ?>
<li><?= htmlspecialchars($lesson, ENT_QUOTES, 'UTF-8') ?></li>
<?php endforeach; ?>
</ul>
Так PHP формирует повторяющиеся элементы HTML. Браузер получит уже готовый список <li>
HTML внутри PHP-условия
<?php
$isLoggedIn = true;
?>
<?php if ($isLoggedIn): ?>
<p>Вы вошли на сайт</p>
<?php else: ?>
<p>Войдите в аккаунт</p>
<?php endif; ?>
Альтернативный синтаксис if: endif; удобен, когда PHP перемешан с HTML-разметкой
Можно ли обрабатывать HTML как PHP
Технически сервер можно настроить так, чтобы .html файлы тоже выполнялись как PHP. Но для новичка и для обычного проекта это лишняя путаница. Лучше использовать понятное правило: если внутри есть PHP-код, файл называется .php
Так легче поддерживать сайт, проще объяснять структуру проекта и меньше риск случайно показать PHP-код как текст
Мини-практика
Создайте profile.php, заведите переменные $name, $city и $role, а затем выведите их внутри HTML-карточки. После этого добавьте условие: если роль равна admin, показать строку Доступ к панели управления
Частые ошибки
Пишут PHP в .html файле Обычно такой код не выполняется. Используйте расширение .php
Открывают файл двойным кликом Для выполнения нужен сервер и адрес http://localhost
Выводят данные пользователя без htmlspecialchars Если значение пришло из формы, перед выводом его нужно экранировать
Думают, что браузер видит PHP Браузер получает HTML после выполнения PHP на сервере
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Как вывести все переменные PHP на странице для отладки
- POST-запрос в PHP: как принять данные формы
- Как на PHP отправить данные формы на почту
- Composer в PHP: установка пакетов без ручного копирования



