Цель занятия:
Познакомить студентов с базовыми понятиями СУБД, научить подключаться к MySQL через PHP, выполнять базовые SQL-запросы (SELECT, INSERT и т.д.).
📌План урока
1. Что такое база данных?
-
Совокупность данных, организованных по определенным правилам.
-
Хранятся в таблицах (аналог Excel).
-
Управляется СУБД — системы управления базами данных.
2. Что такое СУБД MySQL?
-
Одна из самых популярных СУБД с открытым исходным кодом.
-
Используется во многих CMS (WordPress, Joomla).
-
Поддерживает SQL — языковые запросы к БД.
3. Основные понятия:
-
Таблица (таблица) — структура хранения данных.
-
Строка (ряд) — отдельная запись.
-
Столбец (столбец) — характеристика записи.
-
Первичный ключ (PRIMARY KEY) — запись уникального идентификатора.
4. Основные SQL-команды:
| Команда | Назначение |
|---|---|
SELECT |
Получить данные |
INSERT INTO |
Добавить запись |
UPDATE |
Обновить данные |
DELETE |
Удалить записи |
5. Подключение к MySQL из PHP
Через расширение MySQLi или PDO . Пример с MySQLi:
6. Выполнение запроса:
7. Безопасность:
-
Никогда не предоставляет данные напрямую в SQL (опасность SQL-инъекций).
-
Используйте подготовленные выражения (
prepare,bind_param).
🧪 Лабораторная работа: «Подключение к MySQL и вывод списков пользователей»
🎯 Цель:
Научиться подключаться к MySQL, выполнять запрос и отображать данные из таблицы.
🔧 Подготовка:
-
Установите OpenServer или XAMPP .
-
Создать ресурсы данных
test_dbв phpMyAdmin. -
Создать таблицу
users:
-
Добавить несколько пользователей:
🛠️ Пошаговая инструкция:
🔹 Шаг 1. Подключение к БД
Созданный файл db.php:
🔹 Шаг 2. Вывод пользователей
Созданный файл index.php:
🔹 Шаг 3. Попробуйте вручную добавить нового пользователя в phpMyAdmin и перезагрузить страницу — список обновится.
📝 Задания студенту:
-
Подключиться к базе данных.
-
Вывести список пользователей.
-
Добавьте нового пользователя в phpMyAdmin и проверьте, что он отображает.
-
Дополнительно: реализовать форму добавления пользователя на сайт.
1. Что такое файловая система?
Файловая система — это структура хранения и организации данных на жёстком диске или другом носителе. На сервере веб-приложения используют файловую систему для:
-
хранения загружаемых файлов;
-
сохранения логов, текстовых данных;
-
работы с временными файлами и кешами.
2. Пути к файлам
-
Абсолютный путь — от корня файловой системы (
C:/OpenServer/domains/site/uploads/image.jpg) -
Относительный путь — от текущей директории (
uploads/image.jpg)
3. Работа с файлами в PHP
📄 Открытие и чтение файла:
📝 Запись в файл:
📥 Быстрая запись и чтение:
🗑 Удаление файла:
4. Загрузка файлов через HTML-форму
Форма:
PHP-обработка:
⚠️ Безопасность:
-
Ограничивайте размер и тип загружаемых файлов.
-
Проверяйте наличие файла перед удалением или открытием.
-
Не разрешайте загрузку
.php-файлов — они могут быть вредоносными.
🧪 Лабораторная работа №1: Работа с файлами и загрузка на сервер
Цель:
Научиться работать с файлами: записывать данные в файл, читать их и загружать изображения на сервер.
Часть 1: Работа с текстовым файлом
🔧 Задание:
Создайте HTML-форму с текстовым полем и кнопкой.
На сервере создайте обработчик, который:
-
Сохраняет введённый текст в файл
data.txt -
Отображает содержимое этого файла на странице
Пример:
form.html
save.php
Часть 2: Загрузка изображений
🔧 Задание:
Создайте форму для загрузки изображений.
Сервер должен:
-
Загружать файл в папку
uploads/ -
Проверять, что это изображение (
.jpg,.png) -
Выводить список всех загруженных изображений
Пример:
upload.html
upload.php
📋 Отчёт по лабораторной работе должен содержать:
-
Цель работы
-
Снимок экрана формы и результата загрузки
-
Приведённый код HTML и PHP
-
Ответы на вопросы:
-
Чем отличается
file_put_contents()отfwrite()? -
Как защитить загрузку от вредоносных файлов?
-
Цели урока:
-
Изучить механизм работы Cookie и их применение в PHP.
-
Разобрать HTTP-заголовки ответа сервера и их роль в веб-разработке.
-
Освоить работу с сессиями (Sessions) для хранения пользовательских данных.
-
Научиться применять полученные знания на практике.
1. Теоретическая часть
1.1. Что такое Cookie?
Cookie — это небольшие текстовые файлы, которые сервер отправляет браузеру, а браузер сохраняет их и передаёт обратно при каждом запросе.
Основные свойства Cookie:
-
Хранятся на стороне клиента (в браузере).
-
Имеют ограниченный срок жизни (
expires). -
Могут быть защищены от чтения JavaScript (
HttpOnly). -
Используются для:
-
Авторизации
-
Отслеживания поведения пользователя
-
Сохранения настроек сайта
-
Пример установки Cookie в PHP:
setcookie("user", "Ivan", time() + 3600, "/"); // Кука "user" со значением "Ivan" на 1 час
Чтение Cookie:
if (isset($_COOKIE["user"])) { echo "Привет, " . $_COOKIE["user"]; } else { echo "Кука не установлена."; }
Удаление Cookie:
setcookie("user", "", time() - 3600, "/"); // Удаляем куку, устанавливая срок в прошлое
1.2. HTTP-заголовки ответа сервера
HTTP-заголовки позволяют серверу и клиенту обмениваться дополнительной информацией.
Основные заголовки:
-
Content-Type— тип передаваемых данных (text/html,application/json). -
Location— перенаправление (header("Location: /newpage.php")). -
Set-Cookie— установка Cookie. -
Cache-Control— управление кэшированием.
Примеры использования в PHP:
header("Content-Type: application/json"); // Отправка JSON header("Location: login.php"); // Перенаправление header("Cache-Control: no-cache, must-revalidate"); // Запрет кэширования
Важно:
-
Заголовки должны отправляться до вывода любого контента (даже пробела или HTML).
-
Если вывод уже начался, PHP выдаст ошибку:
Warning: Cannot modify header information - headers already sent
1.3. Сессии (Sessions)
Сессии — это механизм хранения данных на сервере в течение одного сеанса работы пользователя.
Как работают сессии?
-
При первом обращении сервер создает уникальный session ID и отправляет его браузеру (обычно через Cookie).
-
Браузер передает этот ID при каждом запросе.
-
Сервер использует ID для доступа к данным сессии.
Пример работы с сессиями в PHP:
session_start(); // Обязательно в начале скрипта! // Запись данных в сессию $_SESSION["username"] = "admin"; $_SESSION["auth"] = true; // Чтение данных if ($_SESSION["auth"]) { echo "Добро пожаловать, " . $_SESSION["username"]; } // Уничтожение сессии session_destroy();
Отличие Cookie от Сессий:
| Cookie | Сессии |
|---|---|
| Хранятся на клиенте | Хранятся на сервере |
| Можно редактировать в браузере | Безопаснее, недоступны клиенту |
| Ограниченный размер (~4 КБ) | Нет жестких ограничений |
2. Практическая часть
Задание 1. Работа с Cookie
-
Создайте страницу
set_cookie.php, которая устанавливает кукуthemeсо значениемdark. -
Создайте страницу
read_cookie.php, которая проверяет наличие кукиthemeи выводит:-
«Тёмная тема включена», если кука есть.
-
«Тема не выбрана», если куки нет.
-
Решение:
// set_cookie.php setcookie("theme", "dark", time() + 3600, "/"); // read_cookie.php if (isset($_COOKIE["theme"])) { echo "Тёмная тема включена"; } else { echo "Тема не выбрана"; }
Задание 2. Перенаправление с HTTP-заголовками
-
Создайте форму (
login_form.php) с полямиloginиpassword. -
В обработчике (
login_handler.php):-
Если логин =
adminи пароль =123, перенаправьте наadmin.php. -
Иначе — верните на
login_form.phpс сообщением об ошибке.
-
Решение:
// login_handler.php if ($_POST["login"] === "admin" && $_POST["password"] === "123") { header("Location: admin.php"); } else { header("Location: login_form.php?error=1"); }
Задание 3. Авторизация через сессии
-
Создайте форму входа (
auth.php). -
В обработчике (
auth_handler.php):-
Запустите сессию.
-
При успешной авторизации сохраните логин в
$_SESSION.
-
-
Создайте страницу
profile.php, которая проверяет авторизацию через сессию.
Решение:
// auth_handler.php session_start(); if ($_POST["login"] === "user" && $_POST["password"] === "qwerty") { $_SESSION["login"] = $_POST["login"]; header("Location: profile.php"); } // profile.php session_start(); if (!isset($_SESSION["login"])) { header("Location: auth.php"); } echo "Привет, " . $_SESSION["login"];
3. Контрольные вопросы
-
В чем разница между Cookie и Sessions?
-
Как установить куку с сроком жизни 1 день?
-
Почему важно вызывать
session_start()в начале скрипта? -
Как перенаправить пользователя на другую страницу в PHP?
-
Как защитить куки от доступа через JavaScript?
Цели урока:
-
Научиться создавать HTML-формы и передавать данные на сервер.
-
Освоить методы GET и POST для обработки данных форм.
-
Изучить основы валидации пользовательского ввода.
-
Практически закрепить навыки работы с формами в PHP.
1. Теоретическая часть
1.1. Основы HTML-форм
Форма — это элемент HTML, который позволяет пользователям вводить данные и отправлять их на сервер.
Базовая структура формы:
<form action="обработчик.php" method="GET|POST"> <!-- Поля формы --> <input type="text" name="username"> <input type="submit" value="Отправить"> </form>
-
action— указывает PHP-файл, который обрабатывает данные. -
method— определяет способ передачи данных (GET или POST).
1.2. Разница между GET и POST
| Параметр | GET | POST |
|---|---|---|
| Видимость | Данные в URL (?name=value) |
Данные скрыты в теле запроса |
| Безопасность | Менее безопасен | Более безопасен |
| Ограничения | Ограничение длины URL (~2048 симв.) | Нет жестких ограничений |
| Кэширование | Данные кэшируются браузером | Не кэшируются |
| Использование | Для получения данных (поиск, фильтры) | Для отправки данных (логины, регистрация) |
1.3. Получение данных формы в PHP
Данные формы хранятся в суперглобальных массивах:
-
$_GET— данные, переданные методом GET. -
$_POST— данные, переданные методом POST.
Пример (обработчик form_handler.php):
<?php
$username = $_POST['username']; // Получаем данные из поля 'username'
echo "Привет, $username!";
?>
1.4. Валидация данных
Перед обработкой данных нужно проверять их на корректность:
if (isset($_POST['username']) && !empty($_POST['username'])) { $username = htmlspecialchars($_POST['username']); // Защита от XSS echo "Добро пожаловать, $username!"; } else { echo "Пожалуйста, введите имя!"; }
2. Практическая часть
Задание 1. Простая форма входа
-
Создайте файл
login_form.htmlс формой:-
Поле
login(текстовое) -
Поле
password(тип password) -
Кнопка «Войти»
-
-
Создайте обработчик
login_handler.php, который проверяет:-
Если логин = «admin», а пароль = «12345», вывести «Доступ разрешен».
-
Иначе — «Ошибка входа».
-
Пример формы:
<form action="login_handler.php" method="POST"> <input type="text" name="login" placeholder="Логин"> <input type="password" name="password" placeholder="Пароль"> <input type="submit" value="Войти"> </form>
Задание 2. Форма регистрации с валидацией
-
Создайте форму (
register.html) с полями:-
Имя (обязательное)
-
Email (проверка на корректность)
-
Пароль (длина не менее 6 символов)
-
-
В обработчике (
register_handler.php) реализуйте проверки:$errors = []; if (empty($_POST['name'])) $errors[] = "Имя обязательно!"; if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $errors[] = "Некорректный email!"; if (strlen($_POST['password']) < 6) $errors[] = "Пароль слишком короткий!";
Задание 3. Загрузка файлов
-
Создайте форму (
upload_form.html) для загрузки изображений:<form action="upload_handler.php" method="POST" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="Загрузить"> </form>
-
В обработчике проверяйте:
-
Тип файла (только
.jpg,.png). -
Размер (не более 2 МБ).
-
3. Контрольные вопросы
-
Чем отличается GET от POST? Когда какой метод использовать?
-
Как получить данные из формы в PHP?
-
Какие угрозы безопасности есть при работе с формами?
-
Как проверить, что форма была отправлена?
-
Для чего нужен атрибут
enctype="multipart/form-data"?
Домашнее задание
-
Создать форму обратной связи (имя, email, сообщение) с валидацией.
-
Реализовать обработчик, который сохраняет данные в файл
feedback.txt. -
Дополнительно: Добавить капчу (простую проверку: «Введите число 123»).
Введение в PHP. Основы синтаксиса и работа с переменными.
Цели урока:
-
Познакомить студентов с языком PHP, его основными возможностями и областью применения.
-
Изучить базовый синтаксис PHP, объявление переменных и типы данных.
-
Научиться выводить информацию в браузер.
1. Теоретическая часть
1.1. Что такое PHP?
-
PHP (Hypertext Preprocessor) – это серверный скриптовый язык программирования, предназначенный для создания динамических веб-страниц.
-
Основные особенности:
-
Открытый исходный код.
-
Интеграция с HTML.
-
Поддержка множества баз данных (MySQL, PostgreSQL и др.).
-
Кроссплатформенность (работает на Windows, Linux, macOS).
-
1.2. Где используется PHP?
-
Разработка веб-сайтов и веб-приложений.
-
Системы управления контентом (CMS): WordPress, Joomla, Drupal.
-
Фреймворки: Laravel, Symfony, Yii.
1.3. Как работает PHP?
-
PHP-код выполняется на сервере, а результат (обычно HTML) отправляется в браузер.
-
Пример:
<?php echo "Привет, мир!"; ?>
1.4. Основы синтаксиса PHP
-
Код PHP обрамляется тегами
<?php ... ?>. -
Инструкции заканчиваются точкой с запятой
;. -
Комментарии:
// Однострочный комментарий /* Многострочный комментарий */
1.5. Переменные и типы данных
-
Переменные начинаются со знака
$. -
Типы данных:
-
int(целые числа) -
float(числа с плавающей точкой) -
string(строки) -
bool(логический тип:true/false) -
array(массивы) -
null(отсутствие значения)
-
Пример:
<?php
$name = "Иван"; // string
$age = 25; // int
$isStudent = true; // bool
echo "Меня зовут $name, мне $age лет.";
?>
1.6. Вывод данных
-
echo– выводит строку. -
print– аналогичноecho, но возвращает значение. -
var_dump()– выводит информацию о переменной (тип, значение).
Пример:
<?php
$number = 42;
echo "Число: $number<br>"; // Выведет: Число: 42
var_dump($number); // Выведет: int(42)
?>
2. Практическая часть
Задание 1: Первая программа на PHP
-
Создайте файл
index.php. -
Напишите код, который выводит ваше имя и возраст.
-
Добавьте переменную
$cityи выведите информацию в формате:
«Меня зовут [имя], мне [возраст] лет, я живу в [город].»
Пример решения:
<?php
$name = "Алексей";
$age = 20;
$city = "Москва";
echo "Меня зовут $name, мне $age лет, я живу в $city.";
?>
Задание 2: Работа с разными типами данных
-
Создайте переменные разных типов (
int,float,string,bool). -
Выведите их с помощью
echoиvar_dump().
Пример:
<?php
$price = 99.99;
$isAvailable = true;
$product = "Клавиатура";
echo "Товар: $product, Цена: $price, Наличие: $isAvailable <br>";
var_dump($price, $isAvailable);
?>
3. Итоги урока
-
PHP – серверный язык для веб-разработки.
-
Переменные начинаются с
$, поддерживают разные типы данных. -
echoиvar_dump()используются для вывода информации.
Домашнее задание
-
Написать PHP-скрипт, который выводит информацию о вас (имя, возраст, хобби).
-
Создать переменные с разными типами данных и вывести их с пояснениями.
-
Дополнительно: изучить, как работает
print_r()и чем отличается отvar_dump().
![]()



