php-2
.pdfАрхитектура интернет-магазина
Каталог товаров (таблица catalog)
○id (int, primary key)
○title (string)
○author (string)
○pubyear (int)
○price (int)
Корзина покупателя (массив)
○Хранится в cookie по имени "basket"
○Инициализируется при первом обращении к приложению
○Первый элемент массива всегда "orderid": уникальный идентификатор заказа
○Индекс последующих элементов - id товара
○Значение последующих элементов - количество товара
○Пример: [ "orderid"=>501bbdee1b4d3, 2
=>1, 6=>1 ]
Список заказов (таблица orders)
○id (int)
○title (string)
○author (string)
○pubyear (int)
○price (int)
○quantity (int)
○orderid (string)
○datetime (int)
Модуль 9. Интернет-магазин Стр.91
Файл с персональными данными заказчика orders.log
Модуль 9. Интернет-магазин Стр.92
Структура приложения
eshop.sql
○дамп структуры базы данных
inc\config.inc.php
○основные настройки сайта
inc\lib.inc.php
○библиотека функций сайта
admin\index.php
○интерфейс админки
admin\add2cat.php
○HTML-форма для добавления товаров
admin\save2cat.php
○РНР-код обработки HTML-формы
admin\orders.php
○вывод списка заказов в виде HTML-таблицы
admin\secure
○папка с файлами для повышения безопасности приложения
catalog.php
○вывод списка товаров в виде HTML-таблицы
add2basket.php
○РНР-код обработки данных для добавления товара в корзину
basket.php
○вывод товаров покупателя в виде HTML-таблицы
delete_from_basket.php
○РНР-код обработки данных для удаления товара из корзины
orderform.php
○HTML-форма для добавления персональных данных покупателя
saveorder.php
Модуль 9. Интернет-магазин Стр.93
○РНР-код обработки персональных данных покупателя для сохранения в текстовый файл и перемещения товаров из корзины покупателя в таблицу
Модуль 9. Интернет-магазин Стр.94
Практическая работа. Часть 1
Создание базы данных и её структуры
Модуль 9. Интернет-магазин Стр.95
Содержание работы. Часть 1
Создание базы данных и её структуры
Задание 1: Создание базы данных и импорт таблиц из файла
•Скопируйте файл eshop\eshop.sql в директорию C:\
•Откройте окно командной строки и введите команду: cd C:\
•Наберите следующую команду:
mysql -uroot
• Последовательно наберите следующие запросы:
CREATE DATABASE eshop; quit
•Импортируйте данные из файла введя команду: mysql -uroot eshop < eshop.sql
•Войдите в монитор MySQL:
mysql -uroot
• Последовательно наберите следующие запросы:
USE eshop; SHOW TABLES;
и изучите структуру базы данных eshop
•Используя SQL-оператор DESCRIBE последовательно просмотрите структуру таблиц базы данных eshop
•Не закрывайте окно командной строки! С его помощью вы будете отслеживать корректность исполняемых запросов
Модуль 9. Интернет-магазин Стр.96
Практическая работа. Часть 2
Основные настройки приложения
Модуль 9. Интернет-магазин Стр.97
Содержание работы. Часть 2
Основные настройки приложения
Задание 1: Объявление констант, переменных и установка
соединения с сервером базы данных
•В текстовом редакторе откройте файл eshop\inc\config.inc.php
•Создайте константу DB_HOST со значением localhost для хранения адреса сервера баз данных mySQL
•Создайте константу DB_LOGIN со значением root для хранения логина соединения с сервером баз данных mySQL
•Создайте константу DB_PASSWORD со значением 'пустая строка' ("") для хранения пароля соединения с сервером баз данных mySQL
•Создайте константу DB_NAME со значением eshop для хранения имени базы данных
•Создайте константу ORDERS_LOG со значением orders.log для хранения имени файла с личными данными пользователей
•Создайте пустой массив $basket для хранения корзины пользователя
•Создайте переменную $count со значением 0 для хранения количества товаров в корзине пользователя
•Установите соединение с сервером базы данных MySQL, выбрав необходимую для работы базу данных. Не забудьте отследить возможную ошибку!
•Сохраните файл eshop\inc\config.inc.php
Модуль 9. Интернет-магазин Стр.98
Практическая работа. Часть 3
Создание каталога товаров
Модуль 9. Интернет-магазин Стр.99
Содержание работы. Часть 3
Создание каталога товаров
Задание 1: Создание функции добавления товара в каталог
•В текстовом редакторе откройте файл eshop\inc\lib.inc.php
•Создайте функцию addItemToCatalog($title, $author, $pubyear, $price),
сохраняющую новый товар в таблицу catalog и принимающую в виде аргументов название, автора, год издания и цену товара
•В теле функции сформируйте подготовленный SQL-запрос на вставку данных в таблицу catalog. Запрос должен выглядеть примерно так: $sql = 'INSERT INTO catalog (title, author, pubyear,
price)
VALUES (?, ?, ?, ?)';
• Исполните подготовленный запрос:
if (!$stmt = mysqli_prepare($link, $sql)) return false;
mysqli_stmt_bind_param($stmt, "ssii", $title, $author, $pubyear, $price);
mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt); return true;
• Сохраните файл eshop\inc\lib.inc.php
Задание 2: Обработка полученных данных из веб-формы
•В текстовом редакторе откройте файл eshop\admin\save2cat.php
•Получите и отфильтруйте данные из формы
•Вызовите функцию addItemToCatalog для сохранения нового товара в базе данных:
if(!addItemToCatalog($title, $author, $pubyear, $price)){ echo 'Произошла ошибка при добавлении товара в каталог';
}else{
header("Location: add2cat.php"); exit;
}
•Сохраните файл eshop\admin\save2cat.php
Задание 3: Добавление нового товара
Модуль 9. Интернет-магазин Стр.100
