30. PHP Сценарии
PHP (Hypertext Preprocessor) — это язык программирования, созданный для разработки веб-приложений и генерации динамических веб-страниц. Основные характеристики PHP:
- Серверная обработка: PHP выполняется на стороне сервера, что позволяет динамически формировать HTML-страницы в зависимости от запросов пользователей.
- Простота и доступность: PHP легко осваивается и широко используется благодаря простой синтаксической структуре.
- Интеграция с базами данных: PHP поддерживает множество баз данных (MySQL, PostgreSQL, SQLite и другие), что делает его удобным для разработки веб-приложений с взаимодействием с данными.
- Расширяемость: Поддержка различных библиотек и модулей позволяет расширять функциональность 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 переменные работают следующим образом:
-
Объявление переменных: Переменная в PHP всегда начинается с символа
$
, за которым следует имя переменной. Имена переменных чувствительны к регистру ($var
и$Var
— это разные переменные).<? $variable = "Привет, мир!"; ?>
-
Типы данных переменных: Переменные в PHP не требуют явного указания типа. PHP автоматически определяет тип данных в зависимости от значения, присвоенного переменной. Основные типы данных: строка (string), число (integer, float), логический (boolean), массив (array), объект (object), NULL.
-
Область видимости переменных:
- Локальные переменные: объявлены внутри функции и доступны только внутри нее.
- Глобальные переменные: объявлены вне функций и доступны во всем скрипте. Для доступа к ним внутри функции нужно использовать ключевое слово
global
.
<?
$variable = "Привет, мир!";
function Using()
{
global $variable;
echo $variable; // Вывод: Привет мир!
}
?>
- Специальные переменные:
- Существуют предопределенные суперглобальные массивы, такие как
$_POST
,$_GET
,$_SESSION
,$_COOKIE
, которые используются для работы с внешними данными (например, данными из формы).
- Существуют предопределенные суперглобальные массивы, такие как
Вот пример простого задания на PHP, которое поможет понять базовые концепции языка:
Задание
Создать форму для ввода имени и отображение приветствия
- Создайте простую HTML-форму, где пользователь может ввести своё имя.
- После отправки формы 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>
Что происходит:
- HTML-форма отправляет данные методом
POST
на этот же скрипт (index.php
). - Когда форма отправлена, срабатывает условие
if ($_SERVER["REQUEST_METHOD"] == "POST")
, и мы получаем введённое имя через переменную$_POST["name"]
. - Функция
htmlspecialchars()
используется для предотвращения XSS-атак. - Далее выводится приветствие с введённым именем.