Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая doc25x / Kursova_Robota (3).docx
Скачиваний:
41
Добавлен:
07.08.2013
Размер:
1.64 Mб
Скачать
  1. Створення резервної копії бази даних.

    1. За допомогою phpmyadmin

Входимо в phpMyAdmin. У вікні, ви побачите свої бази даних.

Натискаємо кнопку «експорт».

У наступному вікні внизу сторінки вибираємо вид архіву, натискаємо ОК, і вказуємо, куди зберегти архів.

    1. Резервне копіювання бази даних за допомогою плагіна WordPress Database Backup

Після установки та активації плагіна, в адмінці сайту відкрийте:

Інструменти - Архівація бази даних

і налаштуйте заплановану архівацію. Резервні копії бази даних будуть приходити на зазначений e-mail.

  1. Висновок

Розглянувши можливості створеної програмної одиниці можна сказати, що вона задовольняє поставленій задачі. В розробленій програмі присутні наступні можливості:

  • Перегляд інформації про товари у зручній формі та використання пошуку і фільтрів

  • Автоматизована обробка запитів від покупців

  • Автоматизоване адміністрування сайту

  • Розрахунок рейтингу менеджерів

В програмі присутні тригери, процедури та функції для автоматизації роботи. Також наявні динамічні SQL і різноманітні виключні ситуації і їх обробники. Хоча MySQL не містить ієрархічних запитів, проте присутня ієрархічна таблиця та функції і вибірки, які можуть реалізувати роботу з даною таблицею в необхідній мірі. Також наявна робота з транзакціями. Відповідно можна стверджувати, що дана програма в достатній мірі реалізує можливість замовлення товарів та обробку замовлень через мережу “Інтернет”.

  1. Використана література

MySQL. Просто и понятно

http://phpfaq.ru/mysql

 Все о PHP, MySQL и не только 

http://php.su/

Работа с БД на PHP

http://php-myadmin.ru/

Базы данных :: MySQL

http://citforum.ru/database/mysql.shtml

Все прo SQL базы данных

http://www.sql.ru/

  1. Додаток

    1. Сторінки рhp програми де використовуються sql запити.

login.php

<?php

require_once 'users.php';

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$login = $_POST['login'];

$password = $_POST['password'];

if(!strlen($login))

$head = "location: Index.php?log_err=empty_login";

else if(!strlen($password))

$head = "location: Index.php?log_err=empty_password";

else

{

$sql = "SELECT user_id,status FROM user WHERE login='".$login."' AND password='".$password."'";

$result = mysql_query($sql);

if(!@mysql_num_rows($result))

$head = "location: Index.php?log_err=user_not_exist";

else

{

$user_data = mysql_fetch_array($result);

if(!strcmp($user_data['status'],'user'))

$user = new defined_user($login,$password,$user_data['user_id']);

else if(!strcmp($user_data['status'],'maneger'))

$user = new maneger($login,$password,$user_data['user_id']);

else if(!strcmp($user_data['status'],'admin'))

$user = new admin($login,$password,$user_data['user_id']);

$_SESSION['user'] = $user;

$_SESSION['status'] = $user_data['status'];

$head = "location: Index.php";

}

}

mysql_close();

header($head);

?>

users.php

<?php

$firm_id; #Глобальна змінна - код фірми

#Абстрактний клас від якого начлідуються всі види користувачів

abstract class users

{

abstract function db_connect(); #Функція для під'єднання до субд mysql

abstract function greeting($log_err); #Функція яка виводить привітання або форму для залогінення

#Визначає назву та код усіх класів і видів товарів

function product_types(&$product_classes_id,&$product_classes_num,&$product_classes,&$product_types_num)

{

$this->db_connect();

$sql_class = "select product_id,title from product where father_id=0";

$res_class = mysql_query($sql_class);

$product_classes_num = mysql_num_rows($res_class);

for($i=0;$i<$product_classes_num;$i++)

{

$j = 0;

$fetch = mysql_fetch_array($res_class);

$product_classes[$i][$j] = $fetch['title'];

$product_classes_id[$i][$j] = $fetch['product_id'];

$sql_types = "select product_id,title from product where father_id=".$product_classes_id[$i][$j];

$res_types = mysql_query($sql_types);

$product_types_num[$i] = mysql_num_rows($res_types);

while($j < $product_types_num[$i])

{

$j++;

$fetch = mysql_fetch_array($res_types);

$product_classes[$i][$j] = $fetch['title'];

$product_classes_id[$i][$j] = $fetch['product_id'];

}

}

}

#Виводить класи і види товарів

function out_product_types()

{

$this->product_types($product_classes_id,$product_classes_num,$product_classes,$product_types_num);

echo "<tr>";

for($i=0;$i<$product_classes_num;$i++)

{

if(($i+1 % 4) == 0)

echo "</tr><tr>";

echo "<td valign='top' align='left'>";

echo "<b><u>".$product_classes[$i][0]."</u></b>";

for($j=1;$j<=$product_types_num[$i];$j++)

{

echo "<br><a style='text-decoration: none' href=product_list.php?type=".$product_classes_id[$i][$j].">".$product_classes[$i][$j]."</a>";

}

echo "</td>";

}

echo "</tr>";

}

#Визначає назви і коди фірм певного виду товарів

function firms($product_type_id,&$firm_title,&$firm_id)

{

$this->db_connect();

$sql = "SELECT title,product_id FROM product WHERE father_id=".$product_type_id;

$result = mysql_query($sql);

for($i = 0;$i<mysql_num_rows($result);$i++)

{

$firm_inf = mysql_fetch_array($result);

$firm_title[$i] = $firm_inf['title'];

$firm_id[$i] = $firm_inf['product_id'];

}

}

#Виводить назви фірм як гіперпосилання з їх кодами

function out_firms($product_type_id)

{

global $firm_id;

$this->firms($product_type_id,$firm_title,$firm_id);

$number_of_firms = count($firm_id);

for($i=0;$i<$number_of_firms;$i++)

{

echo "<a style='text-decoration: none' href='product_list.php?type=".$product_type_id."&firm_id=".$firm_id[$i]."'>".$firm_title[$i]."</a><br>";

}

}

#Виводить список продуктів у зручному для користувача вигляді(Назва, код, картинка, короткий опис, ціна, наявність на складі)

function out_product_list($product_type_id,$firm_id)

{

if($_GET['firm_id'])

$firm_id = array($_GET['firm_id']);

else

global $firm_id;

$this->db_connect();

$number_of_firms = count($firm_id);

for($i=0;$i<$number_of_firms;$i++)

{

$sql = "SELECT product_id,title,small_description FROM product WHERE father_id=".$firm_id[$i];

$result = mysql_query($sql);

for($j=0;$j<mysql_num_rows($result);$j++)

{

$product = mysql_fetch_array($result);

$product_id = $product['product_id'];

$title = $product['title'];

$small_description = $product['small_description'];

$result1 = mysql_query("SELECT price FROM storage_item WHERE product_id=".$product_id);

if(@mysql_num_rows($result1))

{

$storage_item = mysql_fetch_array($result1);

$price = $storage_item['price'];

$availability = "Є в наявності";

}

else

$availability = "Немає в наявності";

echo "<tr><td rowspan='6' valign='top'><img width='256' heigth='256' src=image.php?product_id=".$product_id."></td>";

echo "<td><a style='font-size: 40px' href='item.php?type=".$product_type_id."&id=".$product_id."'>".$title."</a></td></tr>";

echo "<tr><td style='color: grey'>Код товару: ".$product_id."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px'>".$small_description."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px; color: #10df10'>".$availability."</td></tr>";

if(@mysql_num_rows($result1))

{

echo "<tr><td style='font-family: serif; font-size: 45px; color: #10df10'>".$price."грн</td></tr>";

echo "<tr><td><input type='button' class='button_color button_text' style='height: 30px' value='Купити' onClick=window.location.href='buy.php?product_id=".$product_id."'></td></tr>";

}

echo "<tr><td><br><br></td></tr><tr><td><br><br></td></tr>";

}

}

}

#Функція для знаходження та виводу товарів по слову пошуку

function find($find_str)

{

$this->db_connect();

$sql = "SELECT product_id,title,small_description FROM product WHERE title LIKE '%".$find_str."%' AND small_description IS NOT NULL";

$result = mysql_query($sql);

if(@mysql_num_rows($result))

{

for($j=0;$j<mysql_num_rows($result);$j++)

{

$product = mysql_fetch_array($result);

$product_id = $product['product_id'];

$title = $product['title'];

$small_description = $product['small_description'];

$result1 = mysql_query("SELECT price FROM storage_item WHERE product_id=".$product_id);

if(@mysql_num_rows($result1))

{

$storage_item = mysql_fetch_array($result1);

$price = $storage_item['price'];

$availability = "Є в наявності";

}

else

$availability = "Немає в наявності";

echo "<tr><td rowspan='6' valign='top'><img width='256' heigth='256' src=image.php?product_id=".$product_id."></td>";

echo "<td><a style='font-size: 40px' href='item.php?type=".$product_type_id."&id=".$product_id."'>".$title."</a></td></tr>";

echo "<tr><td style='color: grey'>Код товару: ".$product_id."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px'>".$small_description."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px; color: #10df10'>".$availability."</td></tr>";

if(@mysql_num_rows($result1))

{

echo "<tr><td style='font-family: serif; font-size: 45px; color: #10df10'>".$price."грн</td></tr>";

echo "<tr><td><input type='button' class='button_color button_text' style='height: 30px' value='Купити' onClick=window.location.href='buy.php?product_id=".$product_id."'></td></tr>";

}

echo "<tr><td><br><br></td></tr><tr><td><br><br></td></tr>";

}

}

else

echo "<p style='font-style: italic; font-size: 40px; font-family: serif; color: #3333ff;'>Жодного товару не знайдено.</p>";

}

}

#Незалогінений користувач

class guest extends users

{

function db_connect()

{

mysql_connect('localhost','guest','g');

mysql_select_db('internet_shop');

mysql_query("SET NAMES 'utf8'");

}

#Блок для логіну та реєстрації і вивід повідомлень про некоректність введених даних

function greeting($log_err)

{

include_once 'login_block.txt';

if(!strcmp($log_err,'empty_login'))

echo "<font class='color_text'>Введіть логін</font>";

else if(!strcmp($log_err,'empty_password'))

echo "<font class='color_text'>Введіть пароль</font>";

else if(!strcmp($log_err,'user_not_exist'))

echo "<font class='color_text'>Неправильний логін або пароль</font>";

echo "</div></div><hr style='background-color: white; border: none'>";

}

}

#Користувач залогінений як покупець

class defined_user extends users

{

var $login;

var $password;

var $id;

function db_connect()

{

mysql_connect('localhost','user','u');

mysql_select_db('internet_shop');

mysql_query("SET NAMES 'utf8'");

}

function defined_user($login,$password,$id)

{

$this->login = $login;

$this->password = $password;

$this->id = $id;

}

function greeting($log_err)

{

echo "<div class='top_right_div'><h3>";

echo "<font class=color_text>Ви увійшли як користувач:".$this->login."</font></h3>";

echo "<form action='logout.php' method='post'>";

echo "<input type='submit' class='button_color button_text' value='Вийти'>";

echo "</form>";

echo "</div></div><hr style='background-color: white; border: none'>";

}

}

#Користувач залогінений як менеджер

class maneger extends users

{

var $login;

var $password;

var $id;

function db_connect()

{

mysql_connect('localhost','maneger','m');

mysql_select_db('internet_shop');

mysql_query("SET NAMES 'utf8'");

}

function maneger($login,$password,$id)

{

$this->login = $login;

$this->password = $password;

$this->id = $id;

}

function greeting($log_err)

{

echo "<div class='top_right_div'><h3>";

echo "<font class=color_text>Ви увійшли як менеджер:".$this->login."</font></h3>";

echo "<table><tr>";

echo "<td>";

echo "<input type='button' class='button_color button_text' value='Сторінка менеджера' onClick=window.location.href='admin_room.php'>";

echo "</td>";

echo "<td>";

echo "<input type='button' class='button_color button_text' value='Вийти' onClick=window.location.href='logout.php'>";

echo "</td>";

echo "</tr></table>";

echo "</div></div><hr style='background-color: white; border: none'>";

}

}

#Користувач залогінений як адміністратор

class admin extends users

{

var $login;

var $password;

var $id;

function db_connect()

{

mysql_connect('localhost','shop_admin','administrator');

mysql_select_db('internet_shop');

mysql_query("SET NAMES 'utf8'");

}

function admin($login,$password,$id)

{

$this->login = $login;

$this->password = $password;

$this->id = $id;

}

function greeting($log_err)

{

echo "<div class='top_right_div'><h3>";

echo "<font class=color_text>Ви увійшли як адміністратор:".$this->login."</font></h3>";

echo "<table><tr>";

echo "<td>";

echo "<input type='button' class='button_color button_text' value='Сторінка адміністратора' onClick=window.location.href='admin_room.php'>";

echo "</td>";

echo "<td>";

echo "<input type='button' class='button_color button_text' value='Вийти' onClick=window.location.href='logout.php'>";

echo "</td>";

echo "</tr></table>";

echo "</div></div><hr style='background-color: white; border: none'>";

}

}

#Клас для перевірки коректності введених даних

class check

{

#Перевірка введених даних для таблиці покупців

function customer_check($lastname,$name,$contact_phone,$adress)

{

if(!strlen($lastname))

return "Введіть фамілію";

else if(!strlen($name))

return "Введіть ім'я";

else if(strlen($contact_phone) != 10 ||!is_numeric($contact_phone))

return "Невірно вказаний номер телефону(10 цифр)";

else if(!strlen($adress))

return "Введіть адресу";

else

return "";

}

#Перевірка введених даних для таблиці менеджерів

function maneger_check($fullname,$succes_orders,$canceled_orders)

{

if(!strlen($fullname))

return "Введіть повне ім'я";

else if(!strlen($succes_orders) || !is_numeric($succes_orders))

return "Некоректно вказана або не вказана кількість вдалих угод";

else if(!strlen($canceled_orders) || !is_numeric($canceled_orders))

return "Некоректно вказана або не вказана кількість невдалих угод";

}

#Перевірка введених даних для таблиці продуктів

function product_check($title)

{

if(!strlen($title))

return "Введыть назву";

}

#Перевірка введених даних для таблиці складу

function storage_item_check($product_id,$arrival_date,$product_number,$price)

{

if(!strlen($product_id) || !is_numeric($product_id))

return "Введіть коректний номер продукту";

else if(!strlen($arrival_date))

return "Введіть дату";

else if(!strlen($product_number) || !is_numeric($product_number))

return "Невірно вказана кількість товарів";

else if(!strlen($price) || !is_numeric($price))

return "Невірно вказана ціна";

else

return "";

}

#Перевірка введених даних для таблиці передзамовлень

function preorder_check($lastname,$name,$contact_phone,$adress,$storage_item_id,$product_number)

{

if(!strlen($lastname))

return "Введіть прізвище";

else if(!strlen($name))

return "Введіть ім'я";

else if(strlen($contact_phone) != 10 || !is_numeric($contact_phone))

return "Введіть коректний номер телефону(10 цифр)";

else if(!strlen($adress))

return "Введіть адресу";

else if(!strlen($storage_item_id) || !is_numeric($storage_item_id))

return "Введіть коректний код товару на складі";

else if(!strlen($product_number) || !is_numeric($product_number))

return "Введіть коректну кількість замовленої продукції";

else

return "";

}

}

?>

maneger.php

<?php

require_once 'users.php';

session_start();

if($_GET['auto_maneger_rate'] == 1)

{

$user = $_SESSION['user'];

$user->db_connect();

$sql = "CALL internet_shop.auto_maneger_rate();";

mysql_query($sql);

header("location: maneger.php");

}

else if($_GET['auto_maneger_rate'] == 2)

{

$user = $_SESSION['user'];

$user->db_connect();

$sql = "CALL internet_shop.auto_null_deals();";

mysql_query($sql);

$sql = "CALL internet_shop.auto_maneger_rate();";

mysql_query($sql);

header("location: maneger.php");

}

?>

<script language="javascript">

function cancel_edit()

{

var table = document.getElementById("table");

table.innerHTML = "";

}

function addRowForm()

{

var add_table = document.getElementById("table");

var head = "<tr><td>Логін</td><td>Пароль</td><td>Повне ім'я</td></tr>";

var data_input = "<form action='add_row.php' method='post'><tr>";

data_input = data_input + "<td><input type='text' name='login'></td>";

data_input = data_input + "<td><input type='password' name='password'></td>";

data_input = data_input + "<td><input type='text' name='fullname'></td>";

data_input = data_input + "</tr>";

data_input = data_input + "<tr><td><input type = 'submit' class='button_color button_text' value = 'Додати'></td>";

data_input = data_input + "<td><input type = 'button' class='button_color button_text' value = 'Відміна' onClick = 'cancel_edit();'></td>"

add_table.innerHTML = head + data_input;

}

function submit_editing(i)

{

var cur_element;

cur_element = document.getElementsByName("maneger_id"+i);

var maneger_id = cur_element[0].value;

cur_element = document.getElementsByName("fullname"+i);

var fullname = cur_element[0].value;

cur_element = document.getElementsByName("succes_orders"+i);

var succes_orders = cur_element[0].value;

cur_element = document.getElementsByName("canceled_orders"+i);

var canceled_orders = cur_element[0].value;

window.location.href = "edit_table.php?maneger_id="+maneger_id+"&fullname="+fullname+"&succes_orders="+succes_orders+"&canceled_orders="+canceled_orders;

}

function edit(i)

{

var cur_element;

cur_element = document.getElementsByName("fullname"+i);

cur_element[0].removeAttribute("readonly");

cur_element = document.getElementsByName("succes_orders"+i);

cur_element[0].removeAttribute("readonly");

cur_element = document.getElementsByName("canceled_orders"+i);

cur_element[0].removeAttribute("readonly");

var commit_button;

commit_button = document.createElement("input");

commit_button.setAttribute("type", "button");

commit_button.setAttribute("class", "button_color button_text");

commit_button.setAttribute("name","maneger_edit");

commit_button.setAttribute("value","Підтвердити");

commit_button.setAttribute("onClick","submit_editing("+i+");");

var edit_button = document.getElementsByName("edit"+i)[0];

edit_button.parentNode.replaceChild(commit_button,edit_button);

var cancel_button = document.createElement("input");

cancel_button.setAttribute("type", "button");

cancel_button.setAttribute("class", "button_color button_text");

cancel_button.setAttribute("value","Відміна");

cancel_button.setAttribute("onClick","window.location.href='maneger.php'");

var delete_button = edit_button = document.getElementsByName("delete"+i)[0];

delete_button.parentNode.replaceChild(cancel_button,delete_button);

}

function deleting(i)

{

var cur_element;

cur_element = document.getElementsByName("maneger_id"+i);

var maneger_id = cur_element[0].value;

window.location.href = "delete_row.php?maneger_id="+maneger_id;

}

</script>

<?php

include_once 'site_top.txt';

$_SESSION['user']->greeting($_GET['log_err']);

if($_GET['error'])

echo "<u><p align=center><font class='color_text' size=5>".$_GET['error']."</font></p></u>";

?>

<html>

<head>

</head>

<body>

<meta content="text/html" charset="utf-8">

<link rel="stylesheet" href="styles.css" type="text/css">

<div class="main_div">

<div class="table_title_text"><a class="table_title_text" href="maneger.php">таблиця менеджерів</a></div>

<div class="table_view_div">

<table border="1">

<tr align="center"><td>Код</td><td>Повне ім'я</td><td>Успішні угоди</td><td>Скасовіні угоди</td><td>Рейтинг</td></tr>

<?php

$user = $_SESSION['user'];

$user->db_connect();

$sql = "SELECT * FROM maneger";

$result = mysql_query($sql);

for($i=1;$i<=mysql_num_rows($result);$i++)

{

$row = mysql_fetch_array($result);

echo "<tr><td>";

echo "<input type='text' readonly name='maneger_id".$i."' value='".$row['maneger_id']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='fullname".$i."' value='".$row['fullname']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='succes_orders".$i."' value='".$row['succes_orders']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='canceled_orders".$i."' value='".$row['canceled_orders']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='rates".$i."' value='".$row['rate']."'>";

if(!strcmp($_SESSION['status'],'admin'))

{

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='edit".$i."' value='Редагувати' onClick='edit(".$i.");'>";

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='delete".$i."' value='Видалити' onClick='deleting(".$i.");'>";

}

echo "</td></tr>";

}

mysql_close();

?>

</table>

<?php

if(!strcmp($_SESSION['status'],'admin'))

{

echo "<br>";

echo "<table><tr>";

echo "<td><input type='button' class='button_color button_text' value='Додати рядок' onClick='addRowForm();'></td>";

echo "<td><input type='button' class='button_color button_text' value='Розрахувати рейтинг' onClick=window.location.href='maneger.php?auto_maneger_rate=1'></td>";

echo "<td><input type='button' class='button_color button_text' value='Обнулити рейтинг' onClick=window.location.href='maneger.php?auto_maneger_rate=2'></td>";

echo "</tr></table>";

echo "<br>";

echo "<table id='table'></table>";

}

?>

</div>

<?php

include_once 'site_bottom.txt';

?>

</div>

</body>

</html>

storage_item.php

<?php

require_once 'users.php';

session_start();

if($_GET['product_id'])

{

$user = $_SESSION['user'];

$user->db_connect();

$sql = "INSERT INTO storage_item(product_id) VALUES(".$_GET['product_id'].")";

mysql_query($sql);

header("location: storage_item.php");

}

?>

<script language="javascript">

function cancel_edit()

{

var table = document.getElementById("table");

table.innerHTML = "";

}

function submit_editing(i)

{

var cur_element;

cur_element = document.getElementsByName("storage_item_id"+i);

var storage_item_id = cur_element[0].value;

cur_element = document.getElementsByName("product_id"+i);

var product_id = cur_element[0].value;

cur_element = document.getElementsByName("arrival_date"+i);

var arrival_date = cur_element[0].value;

cur_element = document.getElementsByName("product_number"+i);

var product_number = cur_element[0].value;

cur_element = document.getElementsByName("price"+i);

var price = cur_element[0].value;

window.location.href = "edit_table.php?storage_item_id="+storage_item_id+"&product_id="+product_id+"&arrival_date="+arrival_date+"&product_number="+product_number+"&price="+price;

}

function edit(i)

{

var cur_element;

cur_element = document.getElementsByName("product_id"+i);

cur_element[0].removeAttribute("readonly");

cur_element = document.getElementsByName("arrival_date"+i);

cur_element[0].removeAttribute("readonly");

cur_element = document.getElementsByName("product_number"+i);

cur_element[0].removeAttribute("readonly");

cur_element = document.getElementsByName("price"+i);

cur_element[0].removeAttribute("readonly");

var commit_button;

commit_button = document.createElement("input");

commit_button.setAttribute("type", "button");

commit_button.setAttribute("class", "button_color button_text");

commit_button.setAttribute("name","storage_item_edit");

commit_button.setAttribute("value","Підтвердити");

commit_button.setAttribute("onClick","submit_editing("+i+");");

var edit_button = document.getElementsByName("edit"+i)[0];

edit_button.parentNode.replaceChild(commit_button,edit_button);

var cancel_button = document.createElement("input");

cancel_button.setAttribute("type", "button");

cancel_button.setAttribute("class", "button_color button_text");

cancel_button.setAttribute("value","Відміна");

cancel_button.setAttribute("onClick","window.location.href='storage_item.php'");

var delete_button = edit_button = document.getElementsByName("delete"+i)[0];

delete_button.parentNode.replaceChild(cancel_button,delete_button);

}

function deleting(i)

{

var cur_element;

cur_element = document.getElementsByName("storage_item_id"+i);

var customer_id = cur_element[0].value;

window.location.href = "delete_row.php?storage_item_id="+customer_id;

}

</script>

<?php

include_once 'site_top.txt';

$_SESSION['user']->greeting($_GET['log_err']);

?>

<html>

<head>

</head>

<body>

<meta content="text/html" charset="utf-8">

<link rel="stylesheet" href="styles.css" type="text/css">

<link rel="stylesheet" href="css/ui-lightness/jquery.ui.datepicker.css" type="text/css">

<script type='text/javascript' src='js/jquery.js'></script>

<script type='text/javascript' src='js/jquery-ui-1.8.16.custom.min.js'></script>

<script type='text/javascript' src='js/jquery.ui.datepicker-uk.js'></script>

<div class="main_div">

<div class="table_title_text"><a class="table_title_text" href="storage_item.php">таблиця товарів складу</a></div>

<?php

if($_GET['error'])

echo "<u><p align=center><font class='color_text' size=5>".$_GET['error']."</font></p></u>";

?>

<div class="table_view_div">

<table border="1">

<tr align="center"><td>Код товару складу</td><td>Код товару</td><td>Дата прибуття</td><td>Кількість товарів</td><td>Ціна</td></tr>

<?php

$user = $_SESSION['user'];

$user->db_connect();

$sql = "SELECT * FROM storage_item";

$result = mysql_query($sql);

for($i=1;$i<=mysql_num_rows($result);$i++)

{

$row = mysql_fetch_array($result);

echo "<tr><td>";

echo "<input type='text' readonly name='storage_item_id".$i."' value='".$row['storage_item_id']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='product_id".$i."' value='".$row['product_id']."'>";

echo "</td><td>";

echo "<input id='datepicker' type='text' readonly name='arrival_date".$i."' value='".$row['arrival_date']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='product_number".$i."' value='".$row['product_number']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='price".$i."' value='".$row['price']."'>";

if(!strcmp($_SESSION['status'],'admin'))

{

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='edit".$i."' value='Редагувати' onClick='edit(".$i.");'>";

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='delete".$i."' value='Видалити' onClick='deleting(".$i.");'>";

}

echo "</td></tr>";

}

mysql_close();

?>

</table>

</div>

<script>

$("#datepicker").datepicker({dateFormat: 'yy-mm-dd'});

</script>

<?php

include_once 'site_bottom.txt';

?>

</div>

</body>

</html>

product.php

<?php

require_once 'users.php';

session_start();

?>

<script language="javascript">

function cancel_edit()

{

var table = document.getElementById("table");

table.innerHTML = "";

}

function addRowForm()

{

var add_table = document.getElementById("table");

var head = "<tr align='center'><td>Код класу товарів</td><td>Назва</td><td>Картинки</td><td>Короткий опис</td><td>Повний опис</td><td>Характеристика</td></tr>";

var data_input = "<form action='add_row.php' method='post' enctype='multipart/form-data'><tr>";

data_input = data_input + "<td><input size='5' type='text' name='father_id'></td>";

data_input = data_input + "<td><input type='text' name='title'></td>";

data_input = data_input + "<td><input type='file' name='picture'></td>";

data_input = data_input + "<td><textarea cols='10' rows='10' type='text' name='small_description'></textarea></td>";

data_input = data_input + "<td><textarea cols='15' rows='30' type='text' name='full_description'></textarea></td>";

data_input = data_input + "<td><textarea cols='15' rows='30' type='text' name='characteristic'></textarea></td>";

data_input = data_input + "</tr>";

data_input = data_input + "<tr><td><input type = 'submit' class='button_color button_text' value = 'Додати'></td>";

data_input = data_input + "<td><input type = 'button' class='button_color button_text' value = 'Відміна' onClick = 'cancel_edit();'></td>"

add_table.innerHTML = head + data_input;

}

function add_to_storage(i)

{

var cur_element;

cur_element = document.getElementsByName("product_id"+i);

var product_id = cur_element[0].value;

window.location.href = "storage_item.php?product_id="+product_id;

}

function deleting(i)

{

var cur_element;

cur_element = document.getElementsByName("product_id"+i);

var product_id = cur_element[0].value;

window.location.href = "delete_row.php?product_id="+product_id;

}

</script>

<?php

include_once 'site_top.txt';

$_SESSION['user']->greeting($_GET['log_err']);

if($_GET['error'])

echo "<u><p align=center><font class='color_text' size=5>".$_GET['error']."</font></p></u>";

?>

<html>

<head>

</head>

<body>

<meta content="text/html" charset="utf-8">

<link rel="stylesheet" href="styles.css" type="text/css">

<div class="main_div">

<div class="table_title_text"><a class="table_title_text" href="product.php">таблиця товарів</a></div>

<div class="table_view_div">

<table border="1">

<tr align="center"><td>Код</td><td>Код класу товару</td><td>Назва</td><td>Картинка</td><td>Короткий опис</td><td>Повний опис</td><td>Характеристика</td></tr>

<?php

$user = $_SESSION['user'];

$user->db_connect();

$sql = "SELECT * FROM product";

$result = mysql_query($sql);

for($i=1;$i<=mysql_num_rows($result);$i++)

{

$row = mysql_fetch_array($result);

echo "<tr><td>";

echo "<input type='text' size='5' readonly name='product_id".$i."' value='".$row['product_id']."'>";

echo "</td><td>";

echo "<input type='text' size='5' readonly name='father_id".$i."' value='".$row['father_id']."'>";

echo "</td><td>";

echo "<input type='text' readonly name='title".$i."' value='".$row['title']."'>";

echo "</td><td>";

echo "<img src=image.php?product_id=".$row['product_id'].">";

echo "</td><td>";

echo "<textarea cols='10' rows='5' readonly name='small_description".$i."'>".$row['small_description']."</textarea>";

echo "</td><td>";

echo "<textarea cols='10' rows='5' readonly name='full_description".$i."'>".$row['full_description']."</textarea>";

echo "</td><td>";

echo "<textarea cols='10' rows='5' readonly name='characteristic".$i."'>".$row['characteristic']."</textarea>";

if(!strcmp($_SESSION['status'],'admin'))

{

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='edit".$i."' value='Додати на склад' onClick='add_to_storage(".$i.");'>";

echo "</td><td>";

echo "<input type=button class='button_color button_text' name='delete".$i."' value='Видалити' onClick='deleting(".$i.");'>";

}

echo "</td></tr>";

}

mysql_close();

?>

</table>

<?php

if(!strcmp($_SESSION['status'],'admin'))

{

echo "<br>";

echo "<table><tr>";

echo "<td><input type='button' class='button_color button_text' value='Додати рядок' onClick='addRowForm();'></td>";

echo "</tr></table>";

echo "<br>";

echo "<table id='table'></table>";

}

?>

</div>

<?php

include_once 'site_bottom.txt';

?>

</div>

</body>

</html>

buy.php

<?php

require_once 'users.php';

session_start();

if(!isset($_SESSION['status']))

{

$user = new guest;

$_SESSION['user'] = $user;

$_SESSION['status'] = "guest";

}

else

$user = $_SESSION['user'];

?>

<html>

<head>

</head>

<body>

<meta content="text/html" charset="utf-8">

<link rel="stylesheet" href="styles.css" type="text/css">

<div class="main_div">

<?php

include_once 'site_top.txt';

$_SESSION['user']->greeting($_GET['log_err']);

include_once 'menu.txt';

?>

<br>

<table style="padding-left: 10%">

<?php

$id = $_GET['product_id'];

$_SESSION['user']->db_connect();

$sql = "SELECT title,small_description,full_description,characteristic FROM product WHERE product_id=".$id;

$result = mysql_query($sql);

$product = mysql_fetch_array($result);

$title = $product['title'];

$small_description = $product['small_description'];

$result1 = mysql_query("SELECT price FROM storage_item WHERE product_id=".$id);

if(@mysql_num_rows($result1))

{

$storage_item = mysql_fetch_array($result1);

$price = $storage_item['price'];

$availability = "Є в наявності";

}

else

$availability = "Немає в наявності";

echo "<tr><td rowspan='5' valign='top'><img width='256' heigth='256' src=image.php?product_id=".$id."></td>";

echo "<td><a style='font-size: 40px' href='item.php?type=".$_GET['type']."&id=".$id."'>".$title."</a></td></tr>";

echo "<tr><td style='color: grey'>Код товару: ".$id."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px'>".$small_description."</td></tr>";

echo "<tr><td style='font-family: serif; font-size: 25px; color: #10df10'>".$availability."</td></tr>";

if(@mysql_num_rows($result1))

{

echo "<tr><td style='font-family: serif; font-size: 45px; color: #10df10'>".$price."грн</td></tr>";

}

?>

</table>

<div class="register_div">

<?php

if(isset($_GET['error']))

{

echo "<i><font face='arial' size=+1 color='red'>";

switch($_GET['error'])

{

case 'empty_name':

echo "Введіть ім'я"; break;

case 'empty_lastname':

echo "Введіть прізвище"; break;

case 'empty_phone_number':

echo "Введіть номер телефону"; break;

case 'empty_adress':

echo "Введіть адрес"; break;

case 'incorrect_phone':

echo "Телефонний номер має містити лише 10 цийр"; break;

case 'er':

echo "Покупка не може бути здійснена"; break;

case 0:

$correct = 1; break;

default:

$correct = 0;

}

echo "</font></i>";

}

else

echo "<br>";

?>

<form action="reg.php" method="post">

<font size="4" face="arial">

<?php

if(!$correct)

{

if(strcmp($_SESSION['status'], "guest"))

{

$sql ="SELECT lastname,`name`,contact_phone,adress FROM customer WHERE customer_id=".$user->id;

$result = mysql_query($sql);

$customer = mysql_fetch_array($result);

}

echo "<br>Код товару:<br><input type='text' readonly value='".$_GET['product_id']."' class='color_text' size='50' name='product_id'>";

echo "<br>Ім'я:<br><input type='text' value='".$customer['name']."' class='color_text' size='50' name='name'>";

echo "<br>Прізвище:<br><input type='text' value='".$customer['lastname']."' class='color_text' size='50' name='lastname'>";

echo "<br>Номер телефону (лише цифри):<br><input type='text' value='".$customer['contact_phone']."' class='color_text' size='50' name='phone_number'>";

echo "<br>Адреса:<br><input type='text' value='".$customer['adress']."' class='color_text' size='50' name='adress'>";

echo "<br> <input type='submit' class='button_color' value='Підтвердити'>";

}

else

{

echo "<p style='font-style: italic; font-family: serif; color: #3333ff;'>Товар успішно замовлений.</p>";

echo "<p style='font-style: italic; font-family: serif; color: #3333ff;'>Очікуйте дзвінка від нашого менеджера.</p>";

}

?>

</font>

</form>

</div>

<?php

include_once 'site_bottom.txt';

?>

</div>

</body>

</html>

delete_row.php

<?php

require_once 'users.php';

session_start();

$user = $_SESSION['user'];

$user->db_connect();

if($_GET['customer_id'])

{

$sql = "DELETE FROM customer WHERE customer_id=".$_GET['customer_id'];

$head = "location: customer.php";

}

else if($_GET['maneger_id'])

{

$sql = "DELETE FROM maneger WHERE maneger_id=".$_GET['maneger_id'];

$head = "location: maneger.php";

}

else if($_GET['product_id'])

{

$sql = "DELETE FROM product WHERE product_id=".$_GET['product_id'];

$head = "location: product.php";

}

else if($_GET['storage_item_id'])

{

$sql = "DELETE FROM storage_item WHERE storage_item_id=".$_GET['storage_item_id'];

$head = "location: storage_item.php";

}

else if($_GET['preorder_id'])

{

$sql = "DELETE FROM preorder WHERE preorder_id=".$_GET['preorder_id'];

$head = "location: preorder.php";

}

else if($_GET['order_id'])

{

$sql = "DELETE FROM internet_shop.order WHERE order_id=".$_GET['order_id'];

$head = "location: order.php";

}

else if($_GET['user_id'])

{

$sql = "DELETE FROM internet_shop.user WHERE user_id=".$_GET['user_id'];

$head = "location: user.php";

}

$result = mysql_query($sql);

header($head);

?>

add_row.php

<?php

if(isset($_POST['storage_item_id']) && isset($_POST['contact_phone']))

{

require_once 'users.php';

$preorder_id = $_POST['preorder_id'];

$customer_id = $_POST['customer_id'];

if(!$customer_id)

$customer_id = "NULL";

$lastname = $_POST['lastname'];

$name = $_POST['name'];

$contact_phone = $_POST['contact_phone'];

$adress = $_POST['adress'];

$storage_item_id = $_POST['storage_item_id'];

$product_number = $_POST['product_number'];

$ch = new check();

$error = $ch->preorder_check($lastname, $name, $contact_phone, $adress, $storage_item_id, $product_number);

if(strlen($error))

$head = "location: preorder.php?error=".$error."";

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "INSERT INTO preorder(customer_id, lastname, `name`, contact_phone, adress, storage_item_id, product_number) VALUES(".$customer_id.",'".$lastname."','".$name."','".$contact_phone."','".$adress."',".$storage_item_id.",".$product_number.")";

$result = mysql_query($sql);

$error = mysql_error();

if(strlen($error))

$head = "location: preorder.php?error=Товар%20або%20покупець%20з%20вказаним%20кодом%20не%20існують";

else

$head = "location: preorder.php";

}

}

else if($_POST['lastname'])

{

require_once 'users.php';

$lastname = $_POST['lastname'];

$name = $_POST['name'];

$contact_phone = $_POST['contact_phone'];

$adress = $_POST['adress'];

$ch = new check();

$error = $ch->customer_check($lastname, $name, $contact_phone, $adress);

if(strlen($error))

{

$head = "location: customer.php?error=".$error;

}

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "INSERT INTO customer(lastname,`name`,contact_phone,adress) VALUES ('".$lastname."','".$name."','".$contact_phone."','".$adress."')";

$result = mysql_query($sql);

$head = "location: customer.php";

mysql_close();

}

}

else if($_POST['title'])

{

require_once 'users.php';

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$father_id = $_POST['father_id'];

if(!$father_id)

$father_id = 0;

$title = $_POST['title'];

$small_description = $_POST['small_description'];

$full_description = $_POST['full_description'];

$characteristic = $_POST['characteristic'];

if(strlen($error))

{

$head = "location: product.php?error=".$error;

}

else

{

if(is_uploaded_file($_FILES['picture']['tmp_name']))

{

$f = fopen($_FILES['picture']['tmp_name'], "rb");

$picture = fread($f, filesize($_FILES['picture']['tmp_name']));

fclose($f);

$picture = addslashes($picture);

}

$sql = "INSERT INTO product(father_id,title,picture,small_description,full_description,characteristic) VALUES (".$father_id.",'".$title."','$picture','".$small_description."','".$full_description."','".$characteristic."')";

$result = mysql_query($sql);

$error = mysql_error();

if(strlen($error))

$head = "location: product.php?error=".$error;

else

$head = "location: product.php";

}

mysql_close();

}

else

{

require_once 'users.php';

$fullname = $_POST['fullname'];

if(!strlen($fullname))

$fullname = "NULL";

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "CALL add_maneger(".$fullname.")";

mysql_query($sql);

$sql = "SELECT @message AS message";

$result = mysql_query($sql);

$message = mysql_fetch_array($result);

if(!$message['message'])

{

$sql = "INSERT INTO maneger(fullname) VALUES ('".$fullname."')";

$result = mysql_query($sql);

$sql = "SELECT maneger_id FROM maneger ORDER BY maneger_id DESC LIMIT 1";

$result = mysql_query($sql);

$id = mysql_fetch_array($result);

$id = $id['maneger_id'];

$sql = "INSERT INTO user(user_id,login,password,status) VALUES(".$id.",'".$_POST['login']."','".$_POST['password']."','maneger')";

mysql_query($sql);

$head = "location: maneger.php";

}

else

$head = "location: maneger.php?error=".$message['message'];

mysql_close();

}

if($head)

header($head);

else

header("location: admin_room.php");

?>

edit_table.php

<?php

if(isset($_GET['order_id']))

{

require_once 'users.php';

$order_id = $_GET['order_id'];

$storage_item_id = $_GET['storage_item_id'];

$customer_id = $_GET['customer_id'];

$sent = $_GET['sent'];

$product_number = $_GET['product_number'];

$payment = $_GET['payment'];

if(strlen($error))

$head = "location: order.php?error=".$error."";

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "UPDATE internet_shop.order SET storage_item_id = ".$storage_item_id.", customer_id=".$customer_id.", sent=".$sent.", product_number=".$product_number.", payment='".$payment."' WHERE order_id=".$order_id;

$result = mysql_query($sql);

if(mysql_error())

$head = "location: order.php?error=".mysql_error();

else

{

$result = mysql_query("SELECT @message AS message");

$message = mysql_fetch_array($result);

$message = $message['message'];

if(strlen($message))

$head = "location: order.php?error=".$message;

else

$head = "location: order.php";

}

}

}

else if(isset($_GET['preorder_id']))

{

require_once 'users.php';

$preorder_id = $_GET['preorder_id'];

$customer_id = $_GET['customer_id'];

$lastname = $_GET['lastname'];

$name = $_GET['name'];

$contact_phone = $_GET['contact_phone'];

$adress = $_GET['adress'];

$storage_item_id = $_GET['storage_item_id'];

$product_number = $_GET['product_number'];

$ch = new check();

$error = $ch->preorder_check($lastname, $name, $contact_phone, $adress, $storage_item_id, $product_number);

if(strlen($error))

$head = "location: preorder.php?error=".$error."";

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "UPDATE preorder SET customer_id=".$customer_id.", lastname='".$lastname."', `name`='".$name."', contact_phone='".$contact_phone."', adress='".$adress."', storage_item_id = ".$storage_item_id.", product_number=".$product_number." WHERE preorder_id=".$preorder_id;

$result = mysql_query($sql);

if(mysql_error())

$head = "location: preorder.php?error=Відсутній%20товар%20або%20покупець%20із%20вказаним кодом";

else

$head = "location: preorder.php";

}

}

else if(isset($_GET['customer_id']))

{

require_once 'users.php';

$customer_id = $_GET['customer_id'];

$lastname = $_GET['lastname'];

$name = $_GET['name'];

$contact_phone = $_GET['contact_phone'];

$adress = $_GET['adress'];

$ch = new check();

$error = $ch->customer_check($lastname, $name, $contact_phone, $adress);

if(strlen($error))

$head = "location: customer.php?error=".$error."";

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "UPDATE customer SET lastname='".$lastname."', `name`='".$name."', contact_phone='".$contact_phone."', adress='".$adress."' WHERE customer_id=".$customer_id;

$result = mysql_query($sql);

$head = "location: customer.php";

}

}

else if($_GET['storage_item_id'])

{

require_once 'users.php';

$storage_item_id = $_GET['storage_item_id'];

$product_id = $_GET['product_id'];

$arrival_date = $_GET['arrival_date'];

$product_number = $_GET['product_number'];

$price = $_GET['price'];

$ch = new check();

$error = $ch->storage_item_check($product_id,$arrival_date,$product_number,$price);

if(strlen($error))

{

$head = "location: storage_item.php?error=".$error;

}

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "UPDATE storage_item SET product_id=".$product_id.", arrival_date='".$arrival_date."', product_number=".$product_number.", price=".$price." WHERE storage_item_id=".$storage_item_id;

$result = mysql_query($sql);

$error = mysql_error();

if(strlen($error))

$head = "location: storage_item.php?error=Відсутній%20товар%20з%20вказаним%20кодом";

else

$head = "location: storage_item.php";

mysql_close();

}

}

else if($_GET['maneger_id'])

{

require_once 'users.php';

$maneger_id = $_GET['maneger_id'];

$fullname = $_GET['fullname'];

$succes_orders = $_GET['succes_orders'];

$canceled_orders = $_GET['canceled_orders'];

$ch = new check();

$error = $ch->maneger_check($fullname, $succes_orders, $canceled_orders);

if(strlen($error))

$head = "location: maneger.php?error=".$error."";

else

{

session_start();

$user = $_SESSION['user'];

$user->db_connect();

$sql = "UPDATE maneger SET fullname='".$fullname."', succes_orders=".$succes_orders.", canceled_orders=".$canceled_orders." WHERE maneger_id=".$maneger_id;

$result = mysql_query($sql);

$head = "location: maneger.php";

}

}

header($head);

?>

38

Соседние файлы в папке курсовая doc25x