30. PHP Сценарии

PHP (Hypertext Preprocessor) — это язык программирования, созданный для разработки веб-приложений и генерации динамических веб-страниц. Основные характеристики PHP:

  1. Серверная обработка: PHP выполняется на стороне сервера, что позволяет динамически формировать HTML-страницы в зависимости от запросов пользователей.
  2. Простота и доступность: PHP легко осваивается и широко используется благодаря простой синтаксической структуре.
  3. Интеграция с базами данных: PHP поддерживает множество баз данных (MySQL, PostgreSQL, SQLite и другие), что делает его удобным для разработки веб-приложений с взаимодействием с данными.
  4. Расширяемость: Поддержка различных библиотек и модулей позволяет расширять функциональность PHP-приложений.

Как работает инициализация PHP

Когда PHP обрабатывает файл, он ищет открывающие и закрывающие теги, такие как <?php и ?>, которые указывают PHP, когда начинать и заканчивать обработку кода между ними. Подобный способ обработки позволяет PHP внедряться во все виды различных документов, так как всё, что находится вне пары открывающих и закрывающих тегов, будет проигнорировано парсером PHP.

<?php echo('Привет мир!') ?> // Это обычный вывод текста, через команду echo

// PHP также поддерживает такую структуру, но требует включения опции "short_open_tag"
<? echo('Привет мир?') ?> 

Простой, но важный сценарий PHP

Создайте файл формата PHP и внесите следующие данные

<?
    if(isset($_POST['firstname']))
    {
        echo "Привет " . $_POST['firstname'];
    }
?>
<!DOCTYPE html>
<html>
    <head>Мой первый сценарий на PHP</head>
    <body>
        <form method="POST">
            <input type="text" name="firstname">
            <button type="submit">Отправить</button>
        </form>
    </body>
</html>

Объяснение

В PHP сложение строк осуществляется с помощью оператора . (точка). Этот оператор объединяет (конкатенирует) две строки, создавая из них одну.

<?
    echo $string1 . $string2 . $string3 // Результатом будет сложение строк
?>

Команда $_POST['value'] получает массив POST-запроса, где нужно получить value - произвольное название, которое вы указали при отправке формы из HTML. Перед получение значения value, вы должны убедиться, что данное значение существует, через команду isset(value) - boolean и возвращает значения true или false. Комадна isset может использоваться для проверки любых значений, кроме команд. Для проверки существования команд используется function_exists

Как работают переменные в PHP

В PHP переменные работают следующим образом:

  1. Объявление переменных: Переменная в PHP всегда начинается с символа $, за которым следует имя переменной. Имена переменных чувствительны к регистру ($var и $Var — это разные переменные).

    <? $variable = "Привет, мир!"; ?>
  2. Типы данных переменных: Переменные в PHP не требуют явного указания типа. PHP автоматически определяет тип данных в зависимости от значения, присвоенного переменной. Основные типы данных: строка (string), число (integer, float), логический (boolean), массив (array), объект (object), NULL.

  3. Область видимости переменных:

    • Локальные переменные: объявлены внутри функции и доступны только внутри нее.
    • Глобальные переменные: объявлены вне функций и доступны во всем скрипте. Для доступа к ним внутри функции нужно использовать ключевое слово global.
<?
    $variable = "Привет, мир!";
    function Using()
    {
        global $variable;
        echo $variable; // Вывод: Привет мир!
    }
?>
  1. Специальные переменные:
    • Существуют предопределенные суперглобальные массивы, такие как $_POST, $_GET, $_SESSION, $_COOKIE, которые используются для работы с внешними данными (например, данными из формы).

Вот пример простого задания на PHP, которое поможет понять базовые концепции языка:

Задание

Создать форму для ввода имени и отображение приветствия

  1. Создайте простую HTML-форму, где пользователь может ввести своё имя.
  2. После отправки формы PHP-скрипт должен обработать введённые данные и вывести приветствие, используя введённое имя.

Шаг 1: HTML-форма

Создайте файл с расширением .php (например, index.php) и добавьте туда следующий код:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Приветствие</title>
</head>
<body>
    <h1>Введите ваше имя</h1>
    <form action="index.php" method="post">
        <input type="text" name="name" placeholder="Ваше имя" required>
        <input type="submit" value="Отправить">
    </form>

    <?php
    // Проверяем, отправлена ли форма
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        // Получаем введённое имя
        $name = htmlspecialchars($_POST["name"]);

        // Выводим приветствие
        echo "<h2>Привет, $name!</h2>";
    }
    ?>
</body>
</html>

Что происходит:

  1. HTML-форма отправляет данные методом POST на этот же скрипт (index.php).
  2. Когда форма отправлена, срабатывает условие if ($_SERVER["REQUEST_METHOD"] == "POST"), и мы получаем введённое имя через переменную $_POST["name"].
  3. Функция htmlspecialchars() используется для предотвращения XSS-атак.
  4. Далее выводится приветствие с введённым именем.