Автор работы: Пользователь скрыл имя, 30 Сентября 2013 в 10:37, курсовая работа
Доставка заказа. После отправки заказа с покупателем связывается продавец и уточняет место и время, в которое следует доставить заказ. Доставка осуществляется либо собственной курьерской службой, либо компанией, предоставляющей услуги доставки, либо по почте - посылкой или бандеролью.
Введение 3
1. Постановка задачи 4
2. База данных 5
3. Функционал сайта 6
3.1. Главная страница 6
3.2. Регистрация 9
3.3. Просмотр списка товаров 11
3.4. Просмотр товара 13
3.5. Отправка в корзину 14
3.6. Личный кабинет 15
3.7. Панель менеджера 16
3.7.1. Управление типами товаров 16
3.7.2. Управление товарами 18
3.7.3. Новые заказы 19
3.7.4. Выполненные заказы 21
3.7.5. Статистика 23
3.8. Панель администратора 26
4. Права доступа 27
Заключение 29
Список литературы 30
Приложение А 31
Приложение Б 37
Приложение В 42
В результате выполнения данной курсовой работы был разработан интернет-магазин по продаже компьютерных комплектующих.
В качестве основы были взяты PHP и MYSQL, а так же JavaScript.
Были разработаны различные интерфейсы для различных групп пользователей:
- Для покупателей.
- Для менеджеров.
- Для администратора.
Функционал сайта достаточно полон для выполнения возложенных на него действий, предусмотрены различные фильтры для более удобного поиска товаров и управления сайтом.
Тестирование производилось в браузерах Firefox 13.0, Firefox 3.6.6, Opera 11.6, а так же в Internet Explorer 8. Работоспособность в каждом из браузеров сохранялась полностью, различия во внешнем виде незначительны. Права доступа работают корректно.
Из ограничений, касающихся бесплатных хостингов, необходимо отметить, что использование таблиц InnoDB поддерживается только с MYSQL версии 5, которую на данный момент широко используют лишь на платных хостингах.
Список литературы
1. Самоучитель PHP 5. - Издание 2-е – СПб.: Наука и техника, 2005. – 576 с.: ил.
2. Ржеуцкая С.Ю., Андрианов И.А.
Структуры и алгоритмы
3. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. Учебник для вузов. – М.: Корона-принт, 2004.
4. http://www.denwer.ru/
5. http://ru.wikipedia.org
6. http://www.php.su/
7. http://htmlbook.ru/
8. http://html.manual.ru/
Приложение А
actions.php
<?
session_start();
//udalenie
if(isset($_POST['del']))
{
include "dbconnect.php";
$type = $_POST['arr'];
$tname = $_POST['tablename'];
$idname = $_POST['idname'];
$number = $_POST['number'];
$id_korzini = $_POST['id_korzini'];
$met = $_POST['met'];
if(!empty($type))
{
$r=1;
$query = "(" ;
foreach($type as $val) $query.= "$val,";
$query = substr($query, 0, strlen($query) - 1 ). ")" ;
if ($met==3)
{
$price="select cena,kolichestvo from tovari_korz where id_tovara_korz in ".$query;
$summ=0;
$price_rez=mysql_query($price)
while($row=mysql_fetch_row($
$summ=$summ+$row[0]*$row[1];
mysql_query("update korzina set summa=summa-'".$summ."'
where id_korzini='".$id_korzini."'")
}
if ($met==5)
{
$query2=mysql_query("select `izobrajenie` from izobrajenia where id_izobrajenia in ".$query);
while($row_iz = mysql_fetch_row ($query2))
unlink($row_iz[0]);
}
$query = "DELETE FROM $tname WHERE $idname IN ".$query;
if(!mysql_query($query))
{
?>
<script>
window.alert("Нельзя удалить: удаляемым типам соответствуют товары");
window.location.href='goodsdb_
</script>
<?
}
}
else $r=0;
switch ($met)
{
case 0: {header('Location: goodsdb_tip.php?r='.$r); break;}
case 1: {header('Location: goodsdb_tovar.php?r='.$r.'&
case 2: {header('Location: goodsdb_stat.php?r='.$r); break;}
case 3: {header('Location: cabinet.php?r='.$r); break;}
case 4: {header('Location: admin.php?r='.$r); break;}
case 5: {header('Location: about_tovar.php?id='.$number.'
}
}
//tip_tovara
if (isset($_POST['add_tip']))
{
if (trim($_POST['add_tip_text']))
{
$name=$_POST['add_tip_text'];
include "dbconnect.php";
$STR="insert into tip_tovara (nazvanie) values ('".$name."')";
mysql_query($STR);
header('Location: goodsdb_tip.php?a=1');
}
else header('Location: goodsdb_tip.php');
}
//tovar
if (isset($_POST['add_tovar']))
{
$number = $_POST['number'];
if ((trim($_POST['add_tovar_text'
&& (trim($_POST['add_tovar_cena']
&& (trim($_POST['add_tovar_sklad'
&& (trim($_POST['add_tovar_izm'])
{
$name=$_POST['add_tovar_text']
$cena = $_POST['add_tovar_cena'];
$sklad = $_POST['add_tovar_sklad'];
$izm = $_POST['add_tovar_izm'];
include "dbconnect.php";
$STR="insert into tovari (nazvanie,id_tipa,cena,ed_
mysql_query($STR);
header('Location: goodsdb_tovar.php?a=1&number='
}
else header('Location: goodsdb_tovar.php?number='.$
}
//opisanie
if ((isset($_POST['op_accept'])) || (isset($_POST['op_upd'])))
{
$id_op=$_POST['hiddp'];
if ((trim($_POST['garantia']))
&& (trim($_POST['proizvoditel']))
&& (trim($_POST['tech_dannie'])))
{
$garantia=$_POST['garantia'];
$proizvoditel=$_POST['
$tech_dannie=mysql_escape_
include "dbconnect.php";
if (isset($_POST['op_accept']))
$STR="insert into opisanie (id_tovara,tech_dannie,
if (isset($_POST['op_upd']))
$STR="update opisanie set tech_dannie='".$tech_dannie."'
mysql_query($STR);
header('Location: about_tovar.php?a=1&id='.$id_
}
else header('Location: about_tovar.php?id='.$id_op);
}
//korzina
if (isset($_GET['basket']))
{
$count=$_GET['count'];
$id=$_GET['id'];
$goodsid=$_GET['goodsid'];
$id_klienta=$_SESSION['id_
if ($count>0)
{
include "dbconnect.php";
$testing=mysql_query("select * from korzina where id_klienta='".$id_klienta."' and status='nabor'");
if (count(mysql_fetch_row($
{
$data_pok=date("d.m.y H:i");
mysql_query("insert into korzina (id_klienta,data_pok,summa,
}
$query_k=mysql_query("select id_korzini from korzina where id_klienta='".$id_klienta."' and status='nabor'");
while($row_k=mysql_fetch_row($
$id_korzini=$row_k[0];
$query_t=mysql_query("select nazvanie,cena,ed_izmerenia,
while($row_t=mysql_fetch_row($
{
$nazvanie=$row_t[0];
$cena=$row_t[1];
$ed_izmerenia=$row_t[2];
$kol_sklad=$row_t[3];
}
if ($kol_sklad>=$count)
{
mysql_query("insert into tovari_korz (id_korzini,nazvanie,cena,ed_
$itog_cena=$cena*$count;
mysql_query("update korzina set summa=summa+'".$itog_cena."'
where id_korzini='".$id_korzini."'")
header('Location: index.php?id='.$id.'&goodsid='
}
else header('Location: index.php?id='.$id.'&goodsid='
}
else header('Location: index.php?id='.$id.'&goodsid='
}
//korzina otpravit manageram
if (isset($_POST['accept']))
{
include "dbconnect.php";
$id_korzini=$_POST['id_
$testing=mysql_query("select * from tovari_korz where id_korzini='".$id_korzini."'")
if (count(mysql_fetch_row($
{
$data_pok=date("d.m.y H:i");
mysql_query("update korzina set status='podtverjden', data_pok='".$data_pok."'
where id_korzini='".$id_korzini."'")
header('Location: cabinet.php?r=2');
}
}
//otmenit zakaz
if (isset($_POST['del_zak']))
{
include "dbconnect.php";
$id_korzini=$_POST['id_
$delete=mysql_query("delete from korzina where id_korzini='".$id_korzini."'")
header('Location: orders_new.php?r=1');
}
//otpravit so sklada
if (isset($_POST['send_zak']))
{
include "dbconnect.php";
$id_korzini=$_POST['id_
$data_otpr=date("d.m.y H:i");
mysql_query("update korzina set status='otpravlen', data_pok='".$data_otpr."'
where id_korzini='".$id_korzini."'")
$tovar_minus=mysql_query("
while($row_tovar=mysql_fetch_
mysql_query("update tovari set kol_sklad=kol_sklad-'".$row_
header('Location: orders_new.php?r=2');
}
//registracia
if (isset($_GET['register']))
{
include "dbconnect.php";
$login=$_GET['login'];
$parol=$_GET['password'];
$iniciali_klienta=$_GET['fio']
$adres=$_GET['target_address']
$email=$_GET['email'];
$telephone=$_GET['phone_
$query="select count(`id_klienta`) from `klient` where `login`='".$login."'";
$test=mysql_query($query);
while($row=mysql_fetch_row($
$c=$row[0];
if ($c==0)
{
mysql_query("insert into klient (`iniciali_klienta`,`login`,`
header('Location: index.php?registered=1');
}
else header('Location: register.php?loginerr=1');
}
//kartinki
if (isset($_POST['upload']))
{
$id=$_POST['hideid'];
if ($_FILES['userfile']['tmp_
{
include "dbconnect.php";
$uploaddir = 'images/';
$apend=date('YmdHis').rand(
$uploadfile = "$uploaddir$apend";
if($_FILES['userfile']['size']
{
if($_FILES['userfile']['type']
{
if (move_uploaded_file($_FILES['
{
mysql_query("insert into izobrajenia (id_tovara,izobrajenie)
values ('".$id."','".$uploadfile."')"
header("Location: about_tovar.php?upl=1&id=".$
}
else
header("Location: about_tovar.php?uplerr=3&id=".
}
else
header("Location: about_tovar.php?uplerr=1&id=".
}
else
header("Location: about_tovar.php?uplerr=2&id=".
}
else
header("Location: about_tovar.php?id=".$id);
}
//dobavit kolichestvo tovara
if (isset($_POST['updcnt']))
{
include "dbconnect.php";
$updname=$_POST['updname'];
$updnumber=$_POST['updnumber']
mysql_query("update tovari set kol_sklad=".$updnumber." where id_tovara='".$updname."'");
header('Location: goodsdb_stat.php?r=2');
}
//prava managera i uzera
if (isset($_POST['addprivileges']
{
include "dbconnect.php";
$userid=$_POST['userid'];
$numpage=$_POST['numpage'];
$sort=$_POST['sort'];
if ($_POST['priv']=="Отменить")
mysql_query("update klient set metka='' where id_klienta=".$userid."");
if ($_POST['priv']=="Добавить")
mysql_query("update klient set metka='manager' where id_klienta=".$userid."");
header('Location: admin.php?numpage='.$numpage.'
}
?>
Приложение Б
scripts.php
<?
session_start();
function ShowTable($tname,$idname,$met,
{
include "dbconnect.php";
switch ($met)
{
case 0: {$query = "select * from $tname order by ".$method." limit ".($numpage*10).",10" ; break;}
case 1: {$query = "select * from $tname where id_tipa=$number order by ".$method." limit ".($numpage*10).",10"; break;}
case 2: {$query = "select * from $tname where kol_sklad=0 order by ".$method." limit ".($numpage*10).",10"; break;}
case 4: {$query = "select * from $tname where metka!='administrator' order by ".$method." limit ".($numpage*10).",10"; break;}