Этот урок описывает создание формы для добавления новых игр в базу данных в рамках разработки личного кабинета. Создание формы аналогично ранее рассмотренным примерам: создание формы, получение данных, проверка и добавление записи в таблицу trending.
Создание формы
Скопируем существующую форму из файла rec.php в файл user.php. Изменим обработчик формы на add.php. Добавим поля для изображения (image) и количества подписчиков (followers). Удалим ненужные блоки. Поля будем обрабатывать как текстовые. Соответственно, переименуем поля в image и followers, а на кнопке укажем «Добавить».
Обработка формы и добавление данных
Создадим файл add.php в папке lib. В этом файле будем получать данные из массива $_POST и сохранять их в переменные $image и $followers. Добавим проверку: если длина $image меньше 3 или $followers меньше 1, выведем сообщение об ошибке.
<?php
$image = $_POST['image'];
$followers = $_POST['followers'];
if (strlen($image) < 3) {
echo "Image Error";
}
if (strlen($followers) < 1) {
echo "followers Error";
}
// ... дальнейший код
?>
После проверки данных подключимся к базе данных (через отдельный файл) и выполним SQL-запрос. SQL-запрос можно скопировать из файла rec.php. Используем команду INSERT INTO для добавления записи в таблицу trending с полями image и followers. Заменим значения на два вопросительных знака (?). Подготовим и выполним SQL-запрос, передавая значения переменных $image и $followers. В конце перенаправим пользователя на страницу trending.php, где отображаются все записи.
// ... (код подключения к базе данных) ...
$sql = "INSERT INTO trending (image, followers) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$image, $followers]);
header("Location: trending.php");
exit;
Сохраним файл и протестируем форму, добавив тестовые данные. После нажатия на кнопку «Добавить» произойдет перенаправление на страницу trending.php, где отобразится новая запись. В базе данных также появится новая запись.