Розробка online-системи прийому замовлень для кафе 'ФЕКС'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,8 Мб
  • Опубликовано:
    2012-08-08
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розробка online-системи прийому замовлень для кафе 'ФЕКС'

Зміст


Вступ

. Загальна характеристика розвитку електронної торгівлі в Україні на сучасному етапі

. Технічне завдання

. Вибір інструментальних засобів розробки

.1 Вибір архітектури

.2 Вибір мови програмування

. Вимоги до технічних засобів

. Інструкції користувачу

.1 Загальнодоступна частина магазину

.2 Система адміністрування

. Інструкції програмісту

.1 Структура бази даних

.2 Структура веб-сервера

6.3 Робота з базою даних

6.4 Робота з сесією

Висновки

Список літератури

Вступ


На сьогоднішній день ставлення до Інтернет-комерції в Україні дуже спокійне і різкого зростання на цьому ринку немає. Це зумовлено рядом причин:

·        відносно мало користувачів Інтернету (не більше 10%). Загалом, не зовсім правильно оцінювати ринок за загальною кількістю користувачів. Наприклад, у групі покупців турів по Європі або рідкісних речей їх напевне буде близько 100%. Однак користувачі Інтернету ще й зосереджені у великих містах, де зараз бурхливо розвивається «звичайна торгівля», більш звична і зручна для покупців;

·        Інтернет-комерція заощаджує не гроші, а час. Ціни в Інтернет-магазинах вищі, ніж у звичайних як мінімум на вартість доставки. Середній же покупець воліє заощаджувати гроші, а не час;

·        висока вартість електронних угод. Існуюче співвідношення середньої ціни купівлі і ціни електронної транзакції є несприятливим. Це добре ілюструють карткові зарплатні проекти. Люди в більшості випадків знімають одразу всю зарплату, оскільки ціна кожної транзакції є досить відчутною порівняно з розміром зарплати (найчастіше це певний відсоток, але не менше 5грн);

·        нерозвинена система електронних платежів. Жодних проблем не виникає в сегменті «business to business» - зазвичай розраховуються через банківську систему електронних платежів. З фізичними особами складніше. Хоча в Україні можна стати членами міжнародних систем (наприклад, WebMоnеуEхсhаngе), тарифи високі, а попит низький.

Інтернет-замовлення що стали одним із джерел просування товарів звичайної торгівлі і мають безсумнівні переваги, дозволяють:

·        організувати цілодобовий канал збуту і реклами своєї продукції;

·        організувати якісно новий сервіс для постійних і майбутніх покупців;

·        одержати додаткове місце торгівлі без оренди площ;

·        збільшити число клієнтів, у тому числі за рахунок інших регіонів.

Є сектори торгівлі, для яких перелічені недоліки мають менше значення. При цьому Інтернет-послуги мають навіть певні переваги, особливо там, де:

·        дуже важлива оперативність;

·        витрачається багато часу на пошук потрібного товару (книги, запасні частини);

·        вартість транзакцій щодо ціни потрібного товару невисока або діють кілька чинників (покупка, оренда нерухомості).

Враховуючи всі недоліки і переваги функціонування Інтернет вирішено було розробити online-системи прийому замовлень для кафе "ФЕКС", яка би дозволила здійснювати замовлення через мережу Інтернет.

 

1. Загальна характеристика розвитку електронної торгівлі в Україні на сучасному етапі


Що таке Інтернет ще 5-8 років тому в Україні знали далеко не всі, а його користувачами були лише одиниці, та й ті сприймали його лише як іграшку для розваг. Проте на Заході Інтернет вже тоді був популярним, інтернет-магазини - дуже модними та прибутковими. Наприкінці 1999 року в Україні вже почали з’являтися перші інтернет-магазини, які, незважаючи на несприятливий ринок, були переконані, що Інтернет розвиватиметься, працюватиме та навіть зароблятиме непогані гроші. Почали з’являтись інші інтернет-магазини, багато фірм та магазинів впровадили в себе новий спосіб продажу - через мережу Інтернет

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

Розвиток Інтернет-магазинів напряму залежить від кількості користувачів Інтернету, а вона щодня збільшується і, звісно ж, від наших законів Слід зазначити позитивну динаміку зростання кількості інтернет-магазинів в Україні Якщо раніше з’являвся один новий Інтернет-магазин на тиждень, то сьогодні по декілька нових Інтернет-магазинів з'являється щодня. Конкуренція насправді доволі серйозна. Сьогодні придбати готовий Інтернет-магазин чи орендувати його на якийсь;час не становить жодної проблеми. Тому й зростає кількість Інтернет-магазинів, яких нині в Україні більш ніж 2000. На ринку сьогодні просто безліч маленьких «підвальних» фірмочок, де працюють дві людини - одна на прийомі замовлень, інша на продзвольні оптовиків. Прибутки цих компаній не значні й вони виживають тільки тому, що працюють напівлегально. Такі компанії досить часто не можуть надати товар, але за рахунок низьких цін, що вказують на своїх сайтах, закручують відвідуваність.

Слід визначити, що уже велику роль відіграє встановлення довіри між клієнтами та продавцями. Тут доводиться довгий час працювати на репутацію, важливо не підвести клієнтів, привезти саме той товар, який замовили, та саме тоді, на коли замовили.

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

Проаналізувавши українські та російські електронні магазини, виявилося, що українські інтернет-магазини відстають від російських по кількості продаж навіть в українському сегменті мережі Інтернет (наприклад, по даним книжкових магазинів). В першу чергу, це пов'язано з тим, що українські інтернет-магазини практично не застосовують в своїй діяльності такі маркетингові інструменти, як позиціонування, сегментацію ринку та ціноутворення. Так чи є на сьогоднішній день в Україні грунт для розвитку електронної комерції і чи вживаються який-небудь заходи по її розвитку? В Україні є (хоч і небагато) перш за все висококваліфіковані кадри в галузі інформаційно-комунікаційних технологій. За даними Держкомстату, зростає, але залишається ще досить незначною кількість спеціалістів, підготовлених вищими навчальними закладами за напрямками, що стосуються сфери інформатизації - лише 2,83 відсотка від загальної кількості випускників вузів (комп‘ютерні науки - 1,5 відсотка; комп‘ютеризовані системи, автоматика управління -0,38; комп‘ютерна інженерія - 0,95 відсотка). При цьому варто зазначити, що українські ІТ-професіонали займають 4-е місце в світі (за рейтингом 2000, а вітчизняні університети щорічно випускають понад 50 тисяч дипломованих ІТ-спеціалістів і математиків. Вплив інформаційних технологій відбувається майже у всіх сферах діяльності суспільства, сформована відповідна нормативно-правова база: основними нормативними актами у цій сфері є: Закони України “Про інформацію ”, “Про Національну програму інформатизації ”, “Про електронний цифровий підпис ” “Про електронні документи та електронний документообіг ”, “Про захист інформації в інформаційно-телекомунікаційних системах ”, Указ Президента України “Про першочергові завдання щодо впровадження новітніх інформаційних технологій ” тощо. Формування та розвиток в Україні інформаційного суспільства на основі широкого впровадження інформаційно-комунікаційних технологій є одним з національних пріоритетів розвитку країни.

З питань електронної комерції також ведеться спільна діяльність з різними міжнародними організаціями, зокрема з ЄС. У червні поточного (2006) року Урядом України за допомогою ЄС схвалено Концепцію розвитку телекомунікацій в Україні до 2010 року (розпорядження Кабінету Міністрів України № 316). Метою документа є визначення основних засад і напрямків подальшого розвитку телекомунікаційних мереж загального користування в ринкових умовах на всій території країни. Концепція також спрямована на реалізацію стратегічних інтересів та міжнародної конкурентоспроможності України.

Згідно з Концепцією пріоритетним напрямком розвитку телекомунікаційних мереж протягом 2006-2010 років є прискорений розвиток мереж телефонного зв’язку для надання загальнодоступних послуг, перелік яких визначається законодавством Передбачається забезпечити також доступ населення України до загальнодоступних телекомунікаційних послуг через пункти колективного доступу (універсальні таксофони, переговорні пункти тощо) шляхом розвитку мережі цих пунктів в усіх населених пунктах України з кількістю мешканців понад 50. Для виконання цього завдання необхідно ввести близько 25 тисяч універсальних таксофонів. Концепцією передбачається продовжити оновлення і розвиток стаціонарних телефонних мереж, забезпечуючи середньорічне введення не менше 800 тис. телефонних номерів, з яких не менше половини має призначатися на заміну ємності електромеханічних АТС. Також планується збільшити абонентську ємність сільської телефонної мережі не менш ніж на 400 тисяч номерів і телефонізувати за рахунок цього усі соціально значимі об’єкти: навчальні та дитячі дошкільні заклади, медичні установи, клуби, бібліотеки, громадські приймальні тощо.

Упродовж 2006 року здійснювались заходи щодо виконання Плану дій

Україна-ЄС у сфері послуг інформаційного суспільства. Зокрема, продовжується впровадження елементів електронного урядування. Сьогодні інформаційні послуги фізичним і юридичним особам надаються органами виконавчої влади (ОВВ) через єдиний веб-портал ОВВ та власні веб-сайти, при цьому чверть з них функціонують на єдиній апаратно-технічній платформі. Щомісяця єдиним веб-порталом користується близько 2,5 млн. осіб. З метою виконання Рекомендацій парламент­сь­ких слухань з питань розвитку інформаційного суспільства в Україні Міністерством транспорту та зв‘язку на виконання Указу Президента України та відповідного доручення Кабінету Міністрів розроблено проект Національної стратегії формування та розвитку інформаційного суспільства в Україні.

На даний час у державі створено нормативно-правове підґрунтя і

технологічну основу функціонування юридично значимого електронного

документообігу. Законами України встановлено основні організаційно-правові засади електронного документообігу та використання електронних документів, а також правовий статус електронного цифрового підпису (ЕЦП) та порядок його застосування юридичними і фізичними особами, визначено організаційну інфраструктуру ЕЦП та її суб’єктів. У подальшому за завданням Національної програми інформатизації “Створити інфраструктуру системи електронного цифрового підпису”, заплановано вирішення проблем перехресної сертифікації для забезпечення трансграничного обміну електронними документами, захищеними електронним цифровим підписом, створення “третьої довірчої сторони” - електронного нотаріату та забезпечення його взаємодії на договірних засадах з аналогічними структурами в інших країнах. З метою більш ретельного аналізу процесів формування в Україні інформаційного суспільства і розвитку електронної комерції передбачено розробку Національної системи індикаторів просування України до інформаційного суспільства на основі міжнародних

рекомендацій з урахуванням національних особливостей. Проектом Національної стратегії формування інформаційного суспільства передбачається створення так званих Інститутів розвитку - консорціуму “Електронна Україна” - задля реалізації державної програми “Електронна Україна”, Національного інвестиційного фонду, Інноваційного фонду України, Банку розвитку України. Розвиток національного сегмента мережі Інтернет, що на сьогоднішній день є одним із пріори­тет­них напрямів державної політики, забезпечується впровадженням новітніх технологій доступу: послуги високошвидкісного доступу до Інтернет, передачі даних за допомогою новітніх ттехнологій широкосмугового доступу через системи кабельного телебачення тощо. Протягом 2005 року в Україні спостерігається динамічний розвиток Інтернету. Це пов’язано як зі збільшенням кількості персональних комп’ютерів так і зі підвищенням доступності та поліпшенням якості телекомунікацій Якщо у 1998 році кількість користувачів, які регулярно користувалися Інтернетом, становила 0,2% відсотка населення України, то нині - понад 17 відсотків населення (у віковій категорії від 15 до 59 років). Доступ до Інтернету забезпечено в усіх обласних центрах та багатьох районних центрах. Ведуться роботи із створення пунктів колективного доступу до Інтернету. Швидкими темпами розвивається електронна комерція, цифрове телебачення, Інтернет-телефонія Все це безумовно сприяє розвитку електронної торгівлі в Україні на сьогоднішній день, але поки не вирішені питання нормативно-правового характеру, зокрема не вирішені питання довіри у сфері електронної торгівлі, прискорених темпів розвитку електронної торгівлі в Україні чекати не доводиться.

Згідно інформації Google, сьогодні в світі діє більше 3 млрд. інтернет-сайтів, і ця кількість неухильно росте.

2. Технічне завдання


. Розробити систему продажу страв, яка буде дозволить:

.1 зберігати і відображати для відвідувачів сайту інформацію про наявні товари у короткій та деталізованій формах;

.2 відправляти повідомлення адміністратору

.3 одержання інформації про кафе та його продукцію

.4 замовлення столика ;

.5 оформлювати замовлення на вибрані товари;

. Розробити систему адміністрування кафе, яка надаватиме такі можливості:

.1 вводити, редагувати та видаляти інформацію про товари;

.2 управляти категоріями товарів;

.3 групувати товари за категоріями;

.4 можливість редагувати користувачів;

2.5 переглядати і обробляти замовлення на товари;

3. Вибір інструментальних засобів розробки

 

3.1 Вибір архітектури


Для реалізації даного проекту була обрана клієнт-серверна архітектура (веб-сервер). Клієнт-серверна технологія при порівнянні з іншими технологіями, які б можливо було б використати при розробці проекту, має такі переваги:

1.       можливість динамічної модифікації сайту, тобто сайту змінюється лише на сервері і відповідно всі клієнти користуються оновленою інформацією; при звичайній побудові програм модифікація програми на кожному клієнті вимагає певних грошових та часових витрат;

2.       можливість нанизування нових компонентів (модифікація серверної частини) і додавання нових клієнтів; це дозволяє легко розширити систему від простої програми на декількох користувачів до великої системи на декілька сотень клієнтів;

.        можливість персоналізації тощо.

3.2. Вибір мови програмування

HP (англ. PHP:Hypertext Preprocessor - PHP: гіпертекстовий препроцесор), попередньо: Personal Home Page Tools - скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-серверу. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. Проект за яким був створений PHP - проект з відкритими програмними кодами.інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта. На відміну від таких скриптових мов програмування, як JavaScript, користувач не має доступу до PHP-коду, що є перевагою з точки зору безпеки але значно погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконаються вже на стороні клієнта.- мова, яка може бути вбудованою безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>).

Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal. Наявність інтерфейсів до багатьох баз даних в PHP вбудовані бібліотеки для роботи з MySQL, PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase, Sybase.

Початком PHP можна вважати осінь 1994 року, коли Rasmus Lerdorf вирішив розширити можливості своєї Home-page і написати невеликий механізм для виконання найпростіших задач. Такий механізм був готовий до початку 1995 року і називався Personal Home Page Tools. Умів він не дуже багато - розумів найпростішу мову і всього кілька макросів.

До середини 1995 року з'явилася друга версія, що називалася PHP/FI Version 2. Приставка FI - приєдналася з іншого пакета Rasmusa, що вмів обробляти форми (Form Interpritator). PHP/FI компілювався усередину Apache і використовував стандартний API Apache. PHP скріпти виявилися швидше аналогічних CGI - скриптів, тому що серверу не було необхідності породжувати новий процес. Мова PHP по можливостях наблизився до Perl, самій популярній мові для написання CGI-програм. Була додана підтримка безлічі відомих баз даних (наприклад, MySQL і Oracle). Інтерфейс до GD - бібліотеки, дозволяв генерувати картинки на лету. З цього моменту почалося широке поширення PHP/FI.

Наприкінці 1997 Zeev Suraski і Andi Gutmans вирішили переписати внутрішній механізм, з метою виправити помилки інтерпретатора і підвищити швидкість виконання скриптів. Через півроку, 6 червня 1998 року вийшла нова версія, що була названа PHP 3.

До літа 1999 року PHP 3 був включений у кілька комерційних продуктів. За даними NetCraft на листопад 1999 PHP використовувався в більш ніж 1 млн. доменах.

Сьогодні, як PHP/FI так і PHP3 поставляється поруч з комерційними продуктами типу C2's StrongHold web server і RedHat Linux і консервативною оцінкою, заснованої на екстраполяції чисел, наданих NetCraft було б те, що PHP використовується на 150,000 cайтах в усьому світі. У перспективі, їх більше, ніж сайтів, запущених на Nеtsсаре's flagship Enterprise server в Інтернеті.

Програми, написані на PHP, досить легко читаються. Написаний PHP - код легко прочитати і зрозуміти, на відміну від Perl-програм.

РНР є багато переваг перед цими комерційними пакетами :

1.       Функціональність - РНР дає Web-програмістам покращену функціональність з можливостями вставки РНР-коду безпосередньо в HTML.

2.       Ціна - РНР вільно розповсюджується, причому абсолютно безкоштовно.

.        Синтаксис РНР дуже схожий на синтаксис Сі або Perl. Люди, які знайомі з програмуванням на цих мовах можуть швидко почати писати програми на РНР.

.        В мові програмування РНР немає типізації даних і нема необхідності в діях по виділенню/звільненню ОП.

.        Програми на РНР мають кращу читабельність, ніж аналогічні програми на Perl. РНР код значно легше прочитати і зрозуміти.

.        Зв’язок РНР-MySQL є кросплатформенним. Це означає, що можна працюючи в Windows розроблювати програми, що призначені для роботи в UNIX. Крім того, РНР може працювати як зовнішній CGI-процес, або як звичайний інтерпретатор скриптів, або як модуль, що підключається до Web серверу Apache або IIS.

Ефективність є виключно важливим чинником при програмуванні для розрахованих на багато користувачів середовищ, до яких належить і web . Дуже важлива перевага PHP полягає в його транслюючому інтерпретатором. Такий пристрій дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl. Проте, щоб не робили розробники PHP, виконувані файли, що відкомпілювалися, працюватимуть значно швидше - в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних web-додатків

 

4. Вимоги до технічних засобів


Для використання програма потребує наявності сервера та комп’ютера користувача, але при необхідності, комп’ютер користувача може виконувати роль сервера.

Програма може використовувати будь-яку з розповсюджених операційних систем - Windows 9x/NT/XP, Linux, Unix, Solaris та ін. Для системи Windows 98 для роботи програми буде достатньою наступна конфігурація:

1. Процесор

700 Мгц

2. Оперативна пам’ять

128 Мб

3. Монітор

1024x768, 32млн кольорів при частоті розгортки 100 Гц (TCO’95)

4. Маніпулятор „миша”

довільний


Ця конфігурація не перевищує рівень оснащення комп’ютерів користувачів на даний момент часу, тому програма буде доступною широкому колу користувачів.

5. Інструкції користувачу

 

5.1 Загальнодоступна частина магазину


Для того, щоб почати роботу із Інтернет-кафе «ФЕКС», необхідно відкрити вікно будь-якого браузера і у рядку адреси ввести адресу комп’ютера, який використовується в якості сервера, наприклад: #"588208.files/image001.gif">

Рис.5.1.1

Головна сторінка магазину (як й усі інші сторінки) має наступну структуру.

У верхній частині сторінки знаходиться назва сайту - «Інтернет-кафе «ФЕКС» online-системи прийому замовлень». Над назвою розташовано меню у вигляді трьох посилань.

Рис. 5.1.2

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

2. Вхід в систему - посилання, яке використовується для доступу до замовлення на сайті.

. Забули пароль - для того, щоб відвідувач міг відновити свій пароль доступу.

. Способи доставки - опис способів доставки товарів та оплати за придбані товари.

У лівій частині сторінки знаходяться такі посилання:

Головна - посилання, яке використовується для переходу на головну сторінку кафе.

. Основне меню - перелік усіх категорій, у яких впорядковано усі страви Інтернет-кафе.

. Гарячі страви та інші - посилання, які використовується для швидкого доступу до категорії страв.

. Про нас - посилання, яке використовується для переходу отримання інформації на про кафе «ФЕКС».

. Доставки їжі - опис доставки страв і оплати за придбані страви та скидки и подарки .

. Інтер’єр - посилання, яке використовується для переходу отримання інтер’єру кафе «ФЕКС».

. Замовити - посилання яке дає змогу замовити столик у кафе.

. Контакти - посилання яке дає змогу отримати інформацію про розміщення кафе «ФЕКС»


Основна (центральна) частина головної сторінки Інтернет-кафе містить перелік категорій страв. Вибравши будь-яку з них, отримаємо перелік страв з усією необхідною інформацією.

Інформація про товар включає такі елементи:

. Назва страви.

. Ціна.

. Короткий опис страви.

. Фотографія страви.

. Посилання «Замовити», яке використовується для помітки вибраної страву як придбаної.

Якщо додати страву у «замовлення», то автоматично відкриється сторінка з інформацією про всі вибрані товари, які знаходяться в «кошику». Про кожну страву приводиться така інформація: назва страви, кількість одиниць товару, яка купується, вартість одиниці товару та сумарна вартість усіх страв.

Рис. 5.1.4

У нижній частині сторінки і справа знаходяться две кнопки:

. Видалити - оновлення перелік усіх товарів, які були замовленні.

. Назад - перейти до сторінки зі списком страв, яка переглядалася перед переходом до сторінки «замовлення».

.Замовлення - перехід до заповнення форми з інформацією про замовника товару.

Рис. 5.1.5

Сторінка оформлення замовлення має такий вигляд:

Рис. 5.1.6

 

5.2 Система адміністрування


Для того щоб мати доступ до системи адміністрування необхідно мати логін та пароль адміністратора. Для перевірки та тестування даного Інтернет-кафе по замовчуванню встановлено логін - admin та пароль - admin.

Щоб увійти у систему адміністрування потрібно ввести логін та пароль у форму, яка розташована у верхній правій частині сайту.

Рис 5.2.1

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

Рис.5.2.2

Тут розміщено три закладки:

. Адмінцентр - управління категоріями, підкатегоріями та інформацією про товари.

. Додавання товару - це додавання нових страв та управління ними.

. Додавання категорії - додавання нової категорії меню до якої додаються нові страви

У лівій частині сторінки знаходиться список введених раніше категорій та підкатегорій. У нижній частині панелі «Адмінцентер» знаходиться посилання «Категорії», яке використовується до додавання категорії або підкатегорії. Перейшовши за даним посиланням, отримаємо таку сторінку:

Рис. 5.2.3

Рис. 5.2.4

Натиснувши на «Додати товар» перейдемо до такого вікна

Рис.5.2.5

Додавання нового товару представляється у вигляді таблиці, яка складається з таких полів:

. Найменування - з яким буде відображати даний товар на сторінці Інтернет-кафе.

. Дата.

. Категорії - до якої буде відноситься товар.

. Опис - описування товару.

. Ціна - вартість товару

Замовлення які поступили в кафе відправляються на електрону пошту адміністратора.

Рис.5.2.6

По кожному замовленню список містить таку інформацію:

. Час замовлення

2. Ім’я замовника.

3. Форма оплати.

. Спосіб доставки.

. Вартість замовлення - загальна вартість усіх замовлених товарів.

6. Інструкції програмісту

 

6.1 Структура бази даних


В якості сервера баз даних використано сервер MySQL 4.1.8, який поставляється у складі пакету Denwer. Створення бази даних виконувалося засобами веб-інтерфейсу phpMyAdmin


Таблиця «Categories». У даній таблиці представлена уся необхідна інформація про категорії товарів та їх підкатегорії


Поле

Тип

Коментар

1.

category_id

bigint

ID-номер категорії

2.

category_name

varchar (255)

Назва категорії/підкатегорії

3.

category_parent

bigint

Батьківська категорія/підкатегорія - використовується для організації вкладеності підкатегорій.

4.

category_description

text

Опис категорії/підкатегорії


Таблиця «ordered_carts». Дана таблиця містить інформацію про наявні на поточний момент замовлення, які ще не оброблені


Поле

Тип

Коментар

1.

product_id

bigint

ID-номер товару

2.

order_id

bigint

ID-номер замовлення

3.

name

varchar(255)

Назва товару

4.

price

float

Ціна товару

5.

quantity

bigint

Кількість товару


Таблиця «orders» містить інформацію про замовника, яка зв’язана із замовленням, яке має ідентифікатор order_id

Тип

Коментар

1.

order_id

bigint

ID-номер замовлення

2.

order_time

datetime

Дата та час подачі замовлення

3.

customer_firstname

varchar(30)

Ім’я

4.

customer _address

varchar(30)

Адреса

5.

customer _phone

varchar(30)

Контактний телефон

Таблиця «products». Таблиця містить інформацію про товари


Поле

Тип

Коментар

1.

product_id

bigint

ID-номер товару

2.

category_id

bigint

Номер категорії/підкатегорії, до якої належить товар

3.

product_name

varchar(255)

Найменування товару

4.

product_description

text

Повний опис товару

5.

product_price

float

Ціна товару

6.

product_picture

varchar(30)

Фотографія товару


6.2 Структура веб-сервера

В якості HTTP-сервера використано сервер Apache/1.3.33 (Win32). Мова програмування, на якій розроблювалися скрипти - PHP/4.4.0.

Структура клієнтської частини веб-сайту

Структура адміністраторської частини веб-сайту

.3 Робота з базою даних

Мова програмування PHP має дуже зручні засоби підтримки роботи з МySQL.

Перша дія, яка виконується для початку роботи з базою даних - підключення до бази. Дана операція здійснюється за допомогою функції mysql_connect. Вона приймає такі параметри: адреса сервера, порт, ім’я користувача та пароль користувача бази даних.

Оскільки сервер баз даних і HTTP-сервер розміщені на одній машині, то в якості адреси сервера використовується 'localhost' та порт 3306.

Для підключення до бази даних використовується функція mysql_connect():

db_connect($host,$user,$pass)

{

$r = mysql_connect($host,$user,$pass);$r;

}

Функція mysql_connect повертає значення true або false, залежно від того, чи було з'єднання успішним.

Для того, щоб можна було б виконувати будь-які запити, потрібно вибрати базу даних, з якою будуть виконуватися операції. Здійснюється це функцією mysql_select_db().

Функція має додатковий необов'язковий параметр ідентифікатора підключення. Якщо його не вказати, PHP використає ідентифікатор останнього підключення. Якщо до виклику функції не було зроблено mysql_connect(), вона буде викликаною автоматично, але без жодних параметрів, тобто будуть використані параметри по замовчуванню.

Функції mysql_errno() та mysql_error() використовувалися при відлагоджененні скриптів, вони деталізують останню помилку роботи з сервером MySQL (або останню для того підключення, яке вказане в параметрах mysql_error($link)).

Виконання запитів здійснюється функцією mysql_query(). Вона має один обов’язків і два додаткових параметри виклику. Обов'язково потрібно вказати правильний SQL запит.

/* Функція, яка повертає усі підкатегорії заданої категорії */

get_Subs($cid)

{

$q = db_query("select category_id from CATEGORIES where category_id<>0 and category_parent='$cid'") or die (db_error());

$r = array();($row = db_fetch_row($q))

{

$a = get_Subs($row[0]);($i=0;$i<count($a);$i++) $r[] = $a[$i];

$r[] = $row[0];

}$r;

}

/* Функція, яка видаляє усі підкатегорії заданої категорії */deleteSubCategories($parent) //deletes all subcategories of category with categoryID=$parent{

$q = db_query("SELECT category_id FROM CATEGORIES WHERE category_parent=$parent and categoryID<>0") or die (db_error());($row = db_fetch_row($q))

{($row[0]);

}

$q = db_query("DELETE FROM CATEGORIES WHERE category_parent=$parent and category_id<>0") or die (db_error());

$q = db_query("UPDATE ".PRODUCTS_TABLE." SET category_id=0 WHERE category_id=$parent") or die (db_error());

}

/* програмний код, який здійснює відображення інформації про вибраний товар*/(isset($_GET["vote"]) && isset($productID)) /*{

/* скрипт, який здійснює вибірку даних з таблиці PRODUCTS */

$q = db_query("select category_id, product_name, product_description, product_price, product_picture, product_in_stock, product_thumb, product_big_picture, product_code from PRODUCTS where product_id='$productID' and enabled=1") or die (db_error());

$a = db_fetch_row($q);($a) /* якщо товар знайдений у базі даних */

{

$a["product_code"] = $a[12];

/* читаємо інформацію про категорію, до якої належить даний товар */

$q = db_query("SELECT category_id, category_name, category_description, category_picture FROM CATEGORIES WHERE category_id='$categoryID'") or die (db_error());

$row = db_fetch_row($q);($row)

{(!file_exists("./products_pictures/".$row[3]))

$row[3] = "";

$smarty->assign("selected_category", $row);

}

$smarty->assign("selected_category", NULL);

/* визначаємо шлях до категорії, який буде

використовуватися для зберігання фотографій */

$path = array();

$curr = $categoryID; {

$q = db_query("SELECT category_parent, category_name FROM CATEGORIES WHERE category_id='$curr'") or die (db_error());

$row = db_fetch_row($q);

$tmp = $curr;

$curr = $row[0]; //get parent ID

$row[0] = $tmp;

$path[] = $row;

} while ($curr);

$path = array_reverse($path); // перевертаємо шлях

$smarty->assign("product_category_path",$path);

/* перевіряємо, чи існують файли з ілюстраціями*/(!file_exists("./products_pictures/".$a[5])) $a[5] = 0;(!file_exists("./products_pictures/".$a[7])) $a[7] = 0;(!file_exists("./products_pictures/".$a[9])) $a[9] = 0;if ($a[9])

{

$size = getimagesize("./products_pictures/".$a[9]);

$a[16] = $size[0]+40;

$a[17] = $size[1]+30;

}

$a[12] = show_price($a[4]);

$a[13] = show_price($a[10]);

$a[14] = show_price($a[10]-$a[4]); //you save (value)($a[10]) $a[15] = ceil(((($a[10]-$a[4])/$a[10])*100));

$smarty->assign("product_info", $a);

}

{

// товар не знайдений("Location: index.php");

}

}

 

6.4 Робота з сесією


При виконанні даної роботи виникла потреба передачі значень змінних між різними скриптами. Це можна робити через кукі або вставляючи приховані поля у html формах, проте коли змінна є, наприклад, двовимірним масивом, або іншими даних зі складною структурою, згадані способи не є підходящими. Можна створювати тимчасові файли, але тоді потрібно вирішувати проблему ідентифікації для одночасного доступу кількох користувачів до ресурсу. Дану проблему вирішено за допомогою допомогою сесій.

Основу сесій складає механізм ідентифікації користувача та механізм збереження оточення. При першому старті сеансу сесії генерується унікальний ідентифікатор - SID. Далі, в залежності від настройок РНР, цей ідентифікатор зберігається в користувача на комп’ютері через кукі, або автоматично додається до усіх відносних посилань, якщо було вибрано відповідну опцію.

Послідовність дій приблизно при роботі із сесіями наступна: потрібно стартувати сеанс роботи з сесією, оголосити змінну як сесійну і далі працювати з нею, як зі звичайною змінною, викликаючи в будь-якому скрипті.

Для ініціалізації сеансу сесії використано функцію session_start().

Якщо session_start() не було викликано перед session_register(), остання функція викличе session_start() автоматично.

В даній роботі активно використано доступ до змінних сесій через асоціативні масиви $HTTP_SESSION_VARS і $_SESSION. Робота через асоціативні масиви дозволяє працювати зі змінними сесії якщо register_globals виставлено значення off. При цьому, відпадає потреба у функціях типу session_register(), session_is_registered(), session_unregister(). Зі змінними сесії працювати потрібно як з елементами звичайного асоціативного масиву, наприклад, так:

_start();("./checklogin.php");(!isset($_SESSION["log"]) || strcmp($_SESSION["log"],ADMIN_LOGIN)) //unauthorized

{("You are not authorized to view this page");

}

Без використання механізму сесій було б дуде важко реалізувати роботу «Замовлення».

Деякі фрагменти скриптів, у яких використовується доступ до глобальних змінних, значення яких зберігаються у сесії.

/* підрахунок загальної вартості товарів, які знаходяться у замовленні */

$k=0;

$cnt = 0;(isset($_SESSION["gids"])) //...session vars

{($i=0; $i<count($_SESSION["gids"]); $i++)

if ($_SESSION["gids"][$i])

{

$t = db_query("SELECT Price FROM ".PRODUCTS_TABLE." WHERE productID='".$_SESSION["gids"][$i]."'") or die (db_error());

$rr = db_fetch_row($t);

$k += $_SESSION["counts"][$i]*$rr[0];

$cnt += $_SESSION["counts"][$i];

}

}

$smarty->assign("shopping_cart_value", $k);

$smarty->assign("shopping_cart_value_shown", show_price($k));

$smarty->assign("shopping_cart_items", $cnt);

?>

В проекті використані такі функції для роботи з сесіями:_start(void) - створює нову або відновлює стару сесію базуючись на ідентифікаторі сесії переданого через GET або через кукі. Функція завжди повертає true. Якщо використовуються передача ідентифікатора сесії через кукі, функцію session_start() необхідно викликати до того, як відбудеться будь-який вивід в браузер._destroy()

Знищує усі дані поточної сесії, при цьому самі змінні сесії зберігаються.session_name([string name])

Повертає/виставляє ім’я поточної сесії. Якщо ім’я name вказано - ім’я поточної сесії змінюється. При використанні іменованих сесій перед session_start() необхідно викликати session_name()session_save_path([string path]) - повертає/встановлює шлях для збереження файлів сесії_id([string id]) - повертає/встановлює ідентифікатор сесії. Замість цієї функції можна користуватися змінною SID._register(mixed name[, mixed name2...]) - реєструє змінну (змінні) name, name2.... як глобальні змінні для поточної сесії. Якщо сеанс сесії не був ініційований session_start, його буде автоматично стартовано.

Таким чином змінна реєструється як глобальна, з усіма наслідками. Тобто, якщо звернення до цієї змінної або реєстрація буде відбуватися в тілі функції, то необхідно забезпечити роботу власне з тією змінною, що потрібно, використавши global модифікатор.

Якщо використовуються відповідні асоціативні масиви ($_HTTP_SESSION_VARS, $_SESSION), то функції session_register, session_is_registered, session_unregister не використовуються._register("my_var");

$my_var = "Global one, registered";

$HTTP_SESSION_VARS['my_var'] = "Don\'t need to register variable";

$_SESSION['my_var'] = "No need to register variable too";

Функція session_register() не присвоює якихось значень змінній, вона просто міняє її статус._unregister(string name) - відміняє глобальність змінної та викидає її з сесії. Не знищує значення змінної - використовуйте unset();_unset() - знищує значення усіх змінних, зареєстрованих в сесії. Змінні залишаються зареєстрованими. Для асоціативних масивів $HTTP_SESSION_VARS та $_SESSION слід використовувати unset($HTTP_SESSION_VAR['name'] або $_SESSION = array();_is_registered(string name)

Повертає true, якщо змінна $name є зареєстрованою в даній сесії. Для асоціативних масивів $HTTP_SESSION_VARS та $_SESSION слід використовувати isset($HTTP_SESSION_VAR['name']).session_get_cookie_params ( void)

Повертає масив з параметрами сесійних кукі.

"lifetime" - Час життя кукі.

"path" - Шлях, де зберігається сесійна інформація

"domain" - Домен кукі.

"secure" - кукі мають посилатися лише через безпечне з’єднання (secure connection)session_set_cookie_params ( int lifetime [, string path [, string domain]]) - встановлює відповідні параметри сесійних кукі (для поточної сесії). Зміни є чинними лише протягом виконання скрипта.

 

Висновки


При розробці даної роботи були виконані всі вимоги технічного завдання.

В рамках даного проекту було реалізовано систему розробки online-системи прийому замовлень для кафе "ФЕКС" через мережу Інтернет. Було спроектовано та створено базу даних MySQL, у якій зберігаються всі дані.

Створені шаблони сторінки магазину дозволяють без особливих затрат часу доповнювати магазин новими модулями та при необхідності видозмінювати дизайн.

Система адміністрування захищена парольним доступом, тому система є стійкою до стороннього втручання у цілісність даних.

При виконанні даної роботи використовувалися такі системи візуального редагування веб-сторінок, як Macromedia DreamWeaver 8.0.

Значна увага була приділена створенню інтерфейсу програми. Для цього використовувалися сучасні програми Adobe Photoshop CS3,

online замовлення сервер база даних

Список літератури


1.  Хьюгс С., Змиевский А. «РНР. Руководство разработчика», М.: DiaSoft, 2001, -384 с.

2.       Вайк Аллен, «РНР. Справочник», К.: Издательство «ДиаСофт», 2001, - 448 с.

.        Колисниченко Д.Н. «Самоучитель РНР 5», СПб.: «Наука и техника», 2004,- 556 с.

.        Ульман Л. «MySQL», СПб.: «ДМК Пресс», 2004, 352 с.

5.       Ахо А., Хопкрофт Э., Ульман Дж. «Структуры данных и алгоритмы», М.: Издательский дом «Вильямс», 2000. - 384 стр.

6.       Кормен Т., Лейзерсон Ч., Ривест «Алгоритмы: построение и анализ» М.: МЦНМО, 2000, - 960 стр.

7.  Страуструп Б. «Язык программирования С++» М.-СПб: «Бином», 2001.

8.       Гурман Д. «JavaScript. Библия пользователя», М. : «Діалектика», 2002, -958 с.

.        Мазуркевич А. «PHP: настольная книга программиста», М.: Новое знание, 2003, - 480 с.

.        Аткинсон, Леон «MySQL. Библиотека профессионала», - Пер. с англ. - М.: Издательский дом «Вильямс», 2002, - 624 с.

.        Ульман Л. «Основы программирования на РНР», - Пер. с англ. - М.: ДМК Пресс, 2001, - 288 с.

.        Матросов А.В., Сергеев А. О., Цаунин М. П. «HTML 4.0», - СПб.: БХВ - Петербург, 2003, - 672 с.

.        Петюшкин А. В. «HTML. Экспресс-курс», - СПб.: БХВ - Петербург, 2003,- 256 с.

.        Гончаров А. «Самоучитель HTML», - СПб.: Питер, 2002, - 240 с.

Похожие работы на - Розробка online-системи прийому замовлень для кафе 'ФЕКС'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!