Автор работы: Пользователь скрыл имя, 28 Марта 2014 в 10:01, курсовая работа
В ходе выполнения курсовой работы реализованы следующие ф-ии интернет магазина:
БД хранящая информацию, система регистрации пользователя, верификация email адреса(проверка на подлинность), система оформления заказов на любое кол-во товаров, административная панель управления позволяющая управлять базой данных товаров
Реализована система защиты от взлома, запрос логина и пароля для входа в административную панель, также реализована дополнительная защита с помощью проекта Recaptcha от копании Google, система защиты пользователького интерфейса построена на проверке подлинности email адреса и возможностью смены пароля
Для защиты от спама поисковые формы защищены от ввода спец символов MySql, с помощью функции HtmlSpecialChars
7) Подкатегории (subcategory)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
subcategory_id |
Код подкатегории (PK) |
Первичный ключ |
2 |
category_id |
Код категории (FK) |
Внешний ключ |
3 |
subcategory_title |
Название подкатегории |
|
4 |
subcategory_description |
Описание подкатегории |
|
5 |
subcategory_show |
Отображение подкатегории на сайте (да / нет) |
|
6 |
seo_description |
SEO – описание подкатегории |
|
7 |
seo_keywords |
SEO – ключевые слова |
8) Производители(manufacturer)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
manufacturer_id |
Код производителя(PK) |
Первичный ключ |
2 |
manufacturer_title |
Наименование |
9)
Активация пользователя(user_
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
record_id |
Код записи(РК) |
Первичный ключ |
2 |
user_id |
Код пользователя(FK) |
Внешний ключ |
3 |
activation_code |
Код активации |
|
4 |
activation_status |
Статус активации |
10) Восстановление e-mail пользователя(user_recovery)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
recovery_id |
Номер восстановления(PK) |
Первичный ключ |
2 |
user_id |
Код пользователя(FK) |
Внешний ключ |
3 |
recovery_code |
Код восстановления |
|
4 |
recovery_creation_datetime |
Дата и время создания кода |
|
5 |
recovery_status |
Статус восстановления |
11) Журнал заходов в панель управления сайта(log_admin_logins)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
log_id |
Код записи(РК) |
Первичный ключ |
2 |
log_datetime |
Дата и время входа |
|
3 |
log_ip |
ИП адрес входа |
12) Журнал поиска на сайте(log_site_search)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
log_id |
Код записи(РК) |
Первичный ключ |
2 |
log_search_text |
Текст поисковой фразы |
|
3 |
log_datetime |
Дата и время поиска |
13) Заказ (общая) (order_common)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
order_id |
Код заказа (PK) |
Первичный ключ |
2 |
user_id |
Код пользователя (FK) |
Внешний ключ |
3 |
order_creation_datetime |
Дата и время создания заказа |
|
4 |
order_summ |
Общая сумма заказа |
|
5 |
order_fio |
ФИО |
|
6 |
order_phone |
Телефон |
|
7 |
order_city |
Город |
|
8 |
order_delivery_type |
Тип доставки |
|
9 |
order_delivery_address |
Адрес доставки |
|
10 |
order_comments |
Комментарии и пожелания |
|
11 |
order_status |
Статус заказа (В обработке / Отменён / Исполнен) |
14) Заказ (товары) (order_goods)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
record_id |
Код записи (PK) |
Первичный ключ |
2 |
order_id |
Код заказа (FK) |
Внешний ключ |
3 |
goods_id |
Код товара (FK) |
Внешний ключ |
4 |
goods_quantity |
Количество товара по позиции |
|
5 |
goods_status |
Статус (пока не используется) |
Перечень форм БД:
В административном интерфейсе реализованы следующие формы:
Некоторые формы рассмотрим подробнее ниже:
1)Добавление категории товаров:
if($_GET['action']=='category_
$category_title=
$category_description=
mysqli_query($connect, "INSERT INTO category (category_title, category_description, category_show) VALUES ('".$category_title."', '".$category_description."', 'Да')");
echo'<meta http-equiv=Refresh content="0; url=index.php?action=category&
};
Форма запроса содержится в отдельном пхп файле, пример формы запроса:
<form action="index.php?action=
<table border="0" style="margin-left:30px;" cellpadding="1" width="300">
<tr>
<td colspan="2">
Название категории:
</td>
</tr>
<tr>
<td colspan="2"><input type="text" style="width:100%;padding:5px;
</tr>
<tr><td colspan="2"> </td></tr>
<tr><td colspan="2">Описание
<tr>
<td colspan="2">
<textarea name="category_description" style="width:100%;padding:5px;
</td>
</tr>
<tr>
<td colspan="2" align="right">
<a href="index.php?action=
<input type="submit" style="padding:5px;margin-
</td>
</tr>
</table>
</form>
Данный запрос добавляет в БД новую категорию товаров,Название категории и её описание и отображение категории на сайте
2)Добавление подкатегории товаров
$category_id=HtmlSpecialChars(
$subcategory_title=
$subcategory_description=
mysqli_query($connect, "INSERT INTO subcategory (category_id, subcategory_title, subcategory_description, subcategory_show)
VALUES (".$category_id.", '".$subcategory_title."',
'".$subcategory_description."'
echo'<meta http-equiv=Refresh content="0; url=index.php?action=
Заполнение формы происходит на отдельной php страничке(пример указан выше) где расположены указанные переменные для заполнения,в результате выполнения запроса добавляется новая подкатегория
Так как каждая подкатегория обязана иметь свою категорию,в форме заполнения присутствует селектор выбора категории:
<select name="category_id" style="width:100%;">
<?php
$query=mysqli_query($connect,"
for ($c=0; $c<mysqli_num_rows($query); $c++)
{
$row = mysqli_fetch_array($query, MYSQLI_ASSOC);
echo'<option value="'.$row[category_id].'">
};
?>
</select>
3)Добавление товара, включает в себя поля: Название товара,цена, кол-во товара в наличии, описание ,мета-теги для seo оптимизации,и два селектора «категория+подкатегория(в 1 селекторе так как каждая подкатегория уже имеет категорию к которой относится) и селектор производителя(выбирается из имеющихся в БД)
<form action="index.php?action=good_
<tr>
<td width="210">Название товара:</
<td><input type="text" name="title" style="padding:2px;width:100%;
</tr>
<tr>
<td>Подкатегория, категория:</td>
<td>
<select style="padding:2px;width:100%;
<option value="0">Выберите..</option>
<?php
$query = mysqli_query($connect,"SELECT subcategory.subcategory_id, subcategory.subcategory_title, category.category_title FROM subcategory INNER JOIN category ON category.category_id = subcategory.category_id ORDER BY category.category_title");
for ($c=0; $c<mysqli_num_rows($query); $c++)
{
$row = mysqli_fetch_array($query, MYSQLI_ASSOC);
echo'<option value="'.$row[subcategory_id].
};
?>
</select>
</td>
</tr>
<tr>
<td>Производитель товара:</td>
<td>
<select name="manufacturer" style="padding:2px;width:100%;
<option value="">Выберите..</option>
<?php
$query=mysqli_query($connect,"
for ($c=0; $c<mysqli_num_rows($query); $c++)
{
$row = mysqli_fetch_array($query, MYSQLI_ASSOC);
echo'<option value="'.$row[manufacturer_id]
};
?>
</select>
</td>
</tr>
<tr>
<td>Цена в рублях:</td>
<td><input type="text" name="cost" style="padding:2px;width:100%;
</tr>
<tr>
<td>Товара в наличии:</td>
<td><input type="text" name="in_stock"
style="padding:2px;width:100%;
</tr>
<tr>
<td colspan="2">Описание товара:</td>
</tr>
<tr>
<td colspan="2"><textarea name="description"
id="pole1" style="width:100%;height:
</tr>
<tr>
<td colspan="2"><br/>
Мета-теги (SEO):<br/>
<textarea name="seo_metatags" style="width:100%;height:70px;
<span style="color:Gray;font-style:
</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="2" align="right">
<a href="index.php?action=good" style="color:#0066CC;">Отмена<
<input type="submit" value="Добавить товар" style="margin-left:14px;
</td>
</tr>
</table>
</form>
После получения данных задествуется переменная good_add_go и выполняются следующие действия:
if($_GET['action']=='good_add_
{
$title=HtmlSpecialChars($_
$subcategory_id=
$manufacturer_id=HtmlSpecialCh
$cost=HtmlSpecialChars($_POST[
$in_stock=HtmlSpecialChars($_
$description=HtmlSpecialChars(
$seo_metatags=
mysqli_query($connect,"INSERT INTO goods (subcategory_id,title,
Информация о работе Создание базы данных для интернет- магазина