Как подключить PHP к HTML и вывести данные на странице

Короткий ответ: 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. Для соседних задач пригодятся эти разборы:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x