Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Розробка веб-сайту для ТОВ «Поліська будівельна компанія»

ДипломнаДопомога в написанніДізнатися вартістьмоєї роботи

Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість веб-серверів, на яких розміщується та або інша інформація. У найпростішому випадку ця інформація являє собою набір веб-сторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є більш складною; значна частина веб-ресурсів на сучасному етапі є… Читати ще >

Розробка веб-сайту для ТОВ «Поліська будівельна компанія» (реферат, курсова, диплом, контрольна)

Зміст

  • Вступ
  • 1. Технічне завдання
  • 2. Вибір архітектури розробки
  • 3. Вибір інструментальних засобів розробки
  • 4. Вимоги до технічних засобів
  • 5. Інструкції системному адміністратору
    • 5.1 Установка Apache 1.3.29 під Windows XP
    • 5.2 Установка PHP 4.3.4 під Windows
  • 6. Керівництво користувачу
    • 6.1 Користувацька частина сайту
    • 6.2 Система адміністрування
  • 7. Керівництво програмісту
    • 7.1 Структура бази даних
    • 7.2 Діаграма прецедентів
    • 7.3 Структура веб-сервера та веб-сайту
    • 7.4 Опис механізмів передачі даних між сторінками
    • 7.5 Опис класів, які виконують взаємодію з базою даних
  • Висновки
  • Вступ
  • Ще декілька років тому Internet використовували в основному тільки для обміну почтовими повідомленнями та пересилки файлів. Та в останній час сучасні технології перетворили Internet в розвинену інфраструктуру, що охоплює головні інформаційні центри, світові бібліотеки, бази даних наукової та правової інформації, багато державних та комерційних організацій і підприємств, біржі та банки. Сьогодні Internet можна розглядати як величезний ринок, який може охопити в потенціалі все населення Землі. Саме тому виробники програмних та апаратних рішень, торгові та фінансові організації активно розробляють різноманітні види та методи ведення будь-якої діяльності в всесвітньовідомій мережі Internet.
  • В наш час для повного комунікаційного життя підприємства, установи чи організації використовують різні методи, але головним інформаційним та рекламним методом є засоби глобальної мережі Internet. Веб-сайт є обличчям підприємства, а його багатозадачніть і зручність говорить про професіоналізм створювача.
  • Метою даного дипломного проекту є розробка веб-сайту для ТОВ «Поліська будівельна компанія».
  • Необхідно створити такий сайт, який би із задоволенням і зручністю використовували користувачі. А саме потрібно реалізувати такі задачі: розробити доступний та зручний інтерфейс, як для відвідувача сайту, так і для адміністратора; створити базу даних, в якій розміщувалася необхідна інформація; забезпечити захист цієї інформації від зовнішнього втручання; реалізувати зворотній зв’язок з відвідувачами сайту тощо.

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

Розробити веб-сайт ТОВ «Поліська будівельна компанія» :

1. Спроектувати структуру веб-сайту та структуру бази даних.

2. Реалізувати клієнтську частину сайту:

2.1. розробити модуль для перегляду сторінок сайту;

2.2. реалізувати пошук по сайту;

2.3. забезпечити можливість реєстрації користувачів на сайті;

2.4. написати скрипти для авторизації користувачів;

2.5. реалізувати форум на сайті;

2.6. реалізувати книгу відгуків.

3. Реалізувати систему адміністрування веб-сайту:

3.1. написати програмні модулі для забезпечення обмеженого доступу до системи адміністрування.

3.2. передбачити можливість існування адміністраторів двох типів: головні адміністратори сайту та модератори форуму.

3.3. створити скрипти для додавання, оновлення та видалення даних для кожного модуля сайту.

3.4. організувати зручний та функціональний інтерфейс системи адміністрування.

4. Наповнити сайт початковою інформацією.

2. Вибір архітектури розробки

Для реалізації даного проекту було обрано архітектуру «клієнт-сервер».

Архітектура «клієнт-сервер» сьогодні являє собою домінуючу концепцію у створенні мережевих розробок і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:

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

· набір клієнтів, які використовують сервіси, що надаються серверами;

· мережа, яка забезпечує взаємодію між клієнтами та серверами.

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

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

Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість веб-серверів, на яких розміщується та або інша інформація. У найпростішому випадку ця інформація являє собою набір веб-сторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є більш складною; значна частина веб-ресурсів на сучасному етапі є динамічними, тобто вони не існують в заздалегідь підготовленому вигляді, а створюються безпосередньо в процесі обробки запиту від користувача.

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

Модель клієнт-серверної взаємодії визначається перш за все розподілом обов’язків між клієнтом та сервером. Логічно можна виокремити три рівні операцій:

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

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

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

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

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

На сучасному етапі для програмування модулів проміжного рівня використовується мова серверних сценаріїв РНР, а для управління даними — СУБД MySQL. Таким чином, зв’язка PHP-MySQL — це стандартний інструмент для створення інтерактивних веб-сайтів та порталів, систем електронної комерції; близько 90% комерційних систем сьогодні створюється саме на цій основі. Так, для створення серверних додатків, крім РНР, широко застосовуються Java, Perl, Python. Взагалі, технології створення веб-додатків зараз стрімко розвиваються. Слід згадати про технології EJB (Enterprise Java Beans), CORBA, а також про .NET — порівняно нову ініціативу компанії Microsoft.

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

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

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

3. Синтаксис РНР дуже схожий на синтаксис Сі або Perl.

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

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

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

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

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

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

1. Процесор — 300 Мгц

2. Оперативна пам’ять — 32 Мб

3. Відеокарта та монітор — 640×480, 256 кольорів при частоті розгортки 75 Гц (TCO'95)

4. Клавіатура — довільна

5. Миша — довільна

6. Вільний дисковий простір — 120 Мб (для встановлення серверів Apache та MySQL).

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

Конфігурація комп’ютера, на якому виконувалась розробка:

1. Процесор

Intel Pentium 4 2,6 GHz

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

512 Mb

3. Відеокарта

SVGA 128Mб

4. Монітор

SVGA

5. Жорсткий диск

120 Gb

6. Принтер

Samsung ML-1250

5. Інструкції системному адміністратору

5.1 Установка Apache 1.3.29 під Windows XP

Викачати ПО для установки Apache можна, наприклад, з його офіційного сайту http://www.apache.org. Інсталяційний файл має приблизно ім'я вигляду: apache1.3.29-win3x86-no_src.exe. Це автоматичний установник (інакше — wizard) серверу Apache під Windows. Ця програма спробує майже самостійно встановити на комп’ютер веб-сервер. Після запуску файлу установника з’являється діалогове вікно (рис. 1).

Рис. 1. Автоматична установка серверу Apache

Щоб встановити HTTP-сервер Apache на свій комп’ютер, потрібно натискувати на кнопку Next. До речі кажучи, ця ж програма дозволить змінити або видалити вже встановлений web-сервер.

Після натиснення кнопки Next програма запропонує погодитися з умовами ліцензії (рис. 2).

Рис. 2. Ліцензійна угода

Наступний екран міститиме інформацію про сервер Apache, і зокрема про його Windows-реалізацію (його зображення не приводимо).

На наступному кроці потрібно ввести ім'я мережного домена, ім'я серверу і e-mail адміністратора. Програма спробує автоматично визначити домен і хост по настройках комп’ютера (рис. 3).

Рис. 3. Основна інформація про сервер

Після того, як було введено дані у вищенаведену форму, потрібно вибрати тип установки: повна (встановлюються всі компоненти серверу) або визначувана користувачем (можна вибрати компоненти для установки) (рис. 4).

Рис. 4. Тип установки Вибір компонентів серверу не дуже великий — це інструменти, необхідні для роботи серверу і документація до нього (рис. 5).

Рис. 5. Вибір компонентів користувацької установки

Виберемо повну установку. Тоді на наступному кроці програма запропонує вибрати папку, в яку буде встановлений сервер. За умовчанням сервер встановлюється у папку C: Program FilesApache Group (рис. 6).

Рис. 6. Папка, в яку буде встановлений сервер На наступному екрані (рис. 7) буде потрібно підтвердити правильність введених даних і почати установку. З будь-якого вікна установки, включаючи і це, можна повернутися назад і змінити введені раніше дані.

Рис. 7. Початок установки

Після натиснення кнопки Install почнеться безпосередня установка серверу. Від користувача ніяких додаткових дій більше не потрібен. З одного боку, це добре, але є у такої автоматизованої установки і деякі недоліки. Наприклад, домашні директорії користувачів виявляються там же, де і файли настройок серверу (c:Program FilesApache GroupApacheusers). Це небезпечно, якщо на комп’ютері працює декілька користувачів, що не є адміністраторами серверу. Але спершу можна нічого не міняти. Припустимо, ми запустили установник, ввели всі необхідні дані, він виконав всі операції успішно і говорить, що сервер встановлений. Як перевірити, чи дійсно сервер встановлений? Набираємо у вікні браузера http://localhost/. Якщо все встановилося правильно, ми отримаємо сторіночку вітання серверу Apache (рис. 8).

Рис. 8. Сторінка вітання Отже, сервер встановлений. Файли, які повинні бути оброблені сервером, можна зберігати або в корені серверу (в нашому випадку це С: Program FilesApache GroupApachehtdocs), або в директоріях користувачів (в нашому випадку це С: Program FilesApache GroupApacheusers). Місцеположення кореня серверу і директорій користувачів прописано в настройках серверу, а точніше, у файлі конфігурації httpd. conf (знайти його можна в С: Program FilesApache GroupApacheconf). Для зміни цих шляхів потрібно змінити відповідні змінні у файлі конфігурації серверу. Змінна у файлі конфігурації ServerRoot відповідає за кореневу директорію серверу, а змінна UserDir — за директорію, де розташовуватимуться файли користувачів серверу (для більш безпечної роботи радимо змінити змінну UserDir на що-небудь типу c: users). Щоб отримати доступ до файлу test. html, що знаходиться в корені серверу, потрібно набрати в браузере http://localhost/test.html (тобто ім'я хоста, ім'я файлу). Якщо ж файл test. html знаходиться в директорії користувача user, то для його перегляду потрібно набрати в браузере http://localhost/~user/test.html.

5.2 Установка PHP 4.3.4 під Windows

Перейдемо до установки PHP. Викачати його дистрибутив можна з офіційного сайту PHP — http://www.php.net. Для зручності краще вибрати автоматичний інсталятор, як і у випадку з сервером. Найперше віконце при такій установці PHP містить вітання і попередження про існування авторських прав на цей продукт (рис. 9)

Рис. 9. Програма автоматичної установки PHP

Далі потрібно прочитати і погодитися (або не погодитися) з ліцензією (рис. 10).

Рис. 10. Ліцензійна угода

Потім вибираємо тип установки: стандартний або для фахівців. Ми виберемо стандартну установку (рис. 1).

Рис. 11. Тип установки В наступному вікні програма запропонує вибрати директорію для установки PHP. Туди будуть скопійовані файли бібліотек, розширень, інтерпретатор командного рядка, модулі і т.п. (рис. 12).

Рис. 12. Вибір теки, в яку буде встановлений PHP

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

Далі пропонується вибрати із списку сервер, з яким працюватиме PHP. Оскільки ми встановили Apache, то виберемо із списку саме його (рис. 13).

Рис. 13. Вибір серверу, на якому працюватиме PHP

Наступне віконце починає інсталяцію (рис. 14).

Рис. 14. Початок автоматичної установки PHP

6. Керівництво користувачу

6.1 Користувацька частина сайту

Для того, щоб почати роботу із сайтом, необхідно відкрити вікно будь-якого встановленого браузера (Internet Explorer, Netscape Navigator, Mozilla або інший) і у рядку адреси ввести адресу комп’ютера, який використовується в якості сервера: http://tovpbk.com.ua/

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

Рис. 15. Головна сторінка сайту

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

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

Для того, щоб знайти, наприклад, усі сторінки, на яких міститься інформація про будматеріали, треба ввести слово «будматеріали» у пошукову форму і натиснути на кнопку «Шукати». Після цього з’явиться список усіх знайдених сторінок.

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

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

Рис. 16. Реєстраційна форма

Тепер перейдемо до книги відгуків. Для цього виберемо у головному меню пункт «Книга відгуків». На екрані з’явиться список повідомлень, які на поточний момент вже розміщені у книзі іншими користувачами сайту.

Рис. 17. Книга відгуків Для того, щоб написати власне повідомлення заповнимо форму, яка знаходиться у нижній частині сторінки.

Рис. 17. Додавання нового повідомлення до книги відгуків

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

Рис. 18. Список тем форуму

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

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

Для того, щоб увійти у систему адміністрування треба:

1. Відкрити веб-браузер.

2. У рядку адреси ввести адресу http://tovpbk.com.ua/admin.php і натиснути на клавішу «Enter».

3. Ввести логін та пароль адміністратора.

4. Натиснути на кнопку «Увійти».

5. Якщо логін та пароль було введено правильно — сторінка матиме такий вигляд:

Рис. 19. Зовнішній вигляд системи адміністрування

Управління адміністраторами

Для того, щоб додати нового адміністратора, треба у панелі навігації вибрати пункт «Адміністратори», потім пункт «Додати адміністратора». Потім слід заповнити реєстраційну форму (логін, пароль, e-mail тощо). Після заповнення форми треба натиснути на кнопку «Додати адміністратора».

Рис. 20. Додавання нового адміністратора

Для того, щоб змінити інформацію про адміністратора або змінити пароль, треба у панелі навігації вибрати пункт «Адміністратори», потім пункт «Редагувати адміністратора». На сторінці буде відображено список усіх адміністраторів та модераторів сайту. Потрібно вибрати адміністратора і натиснути на кнопку «редагувати».

Рис. 21. Список адміністраторів для редагування На екрані з’явиться інформація, яку було введено при додаванні адміністратора. Цю інформацію можна змінювати. Після внесення змін не слід забувати натискати на кнопку «Зберегти зміни».

Рис. 22. Редагування інформації про адміністратора Для того, щоб видалити адміністратора, треба у панелі навігації вибрати пункт «Адміністратори», потім пункт «Видалити адміністратора». На сторінці буде відображено список усіх адміністраторів та модераторів сайту. Для видалення слід натиснути на відповідне посилання «видалити».

Рис. 23. Список адміністраторів для видалення

Управління користувачами.

Для того, щоб додати нового користувача, треба у панелі навігації вибрати пункт «Користувачі», потім пункт «Додати користувача». Потім слід заповнити реєстраційну форму (логін, пароль, e-mail тощо). Після заповнення форми треба натиснути на кнопку «Додати користувача».

Рис. 24. Додавання нового користувача Для того, щоб змінити інформацію про користувача або змінити пароль, треба у панелі навігації вибрати пункт «Користувачі», потім пункт «Редагувати користувача». На сторінці буде відображено список усіх користувачів, які зареєстровані на сайті. Далі потрібно вибрати користувача і натиснути на посилання «редагувати».

Рис. 25. Список користувачів для редагування На екрані з’явиться інформація, яку ввів користувач при реєстрації. Цю інформацію можна змінювати. Після внесення змін не слід забувати натискати на кнопку «Зберегти зміни».

Рис. 26. Редагування користувача Для того, щоб видалити користувача, треба у панелі навігації вибрати пункт «Користувачі», потім пункт «Видалити користувача». На сторінці буде відображено список усіх користувачів. Далі слід натиснути на відповідне посилання «видалити».

Рис. 27. Список користувачів для видалення

Управління сторінками сайту.

Для роботи з текстовою та графічною інформацією на сайті використовується візуальний редактор HTML-коду FCKeditor 2.5. Він дозволяє здійснювати форматування, редагування тексту, вставку графічних зображень на сторінку тощо. Він дозволяє також копіювати текст з текстового процесора MS Word і вставляти у форму редактора FCKeditor, але кожне зображення, яке має бути розміщене на сторінці, потрібно вставляти окремо.

Копіювання тексту здійснюється за допомогою буферу обміну. Текстовий документ потрібно відкрити у текстовому редакторі, скопіювати у буфер обміну і вставити у відповідну форму у системі адміністрування. Отже, проілюструємо даний алгоритм на прикладі текстового редактора Microsoft Word.

1. Відкрити документ у текстовому процесорі Microsoft Word.

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

3. Скопіювати фрагмент документу, який було виділено у буфер обміну. Щоб це виконати потрібно натиснути праву клавішу миші на виділеному фрагменті і вибрати з контекстного меню пункт «Копировать».

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

5. Вставити скопійований текст з буферу обміну у робочу область FCKeditor.

5.1. Якщо фрагменту документу Microsoft Word, який було скопійовано у буфер обміну являє собою текст без таблиць, тоді для вставки цього тексту потрібно натиснути на кнопку «Вставити тільки текст», яка знаходиться на панелі інструментів FCKeditor.

5.2. Якщо ж фрагмент документу, що збережено у буфері обміну містить таблиці, то для вставки цього фрагменту треби натиснути на кнопку «Вставити з Word».

Після натискання на вказану кнопку на екрані з’являється діалогове вікно, у яке потрібно вставити інформацію, яку було скопійовано у буфер обміну за допомогою комбінації клавіш CTRL-V. Після цього треба зняти відмітки біля опцій «Ігнорувати налаштування шрифтів» та «Видалити налаштування стилів» і натиснути на кнопку «ОК».

Рис. 28. Вставка тексту сторінки

6. Відредагувати та відформатувати текст за допомогою візуального редактора FCKeditor. Для зручності роботи розгорнути панель редактора на всю сторінку. Для цього достатньо один раз натиснути лівою клавішею миші на кнопці «Розгорнути вікно редактора».

Отже, для того, щоб додати нову сторінку на сайт треба вибрати у панелі навігації пункт «Сторінки», потім «Додати сторінку». На екрані з’явиться форма, в яку потрібно ввести заголовок сторінки і її текст. Після цього слід натиснути на кнопку «Додати сторінку».

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

сайт адміністрування інтерфейс інструментальний Рис. 29. Список сторінок сайту для редагування Вибираємо сторінку, в яку треба внести корективи і натискаємо на посилання «редагувати». Далі вносимо потрібні зміни і натискаємо на кнопку «Зберегти зміни».

Для того, щоб видалити сторінку сайту треба у панелі навігації пункт «Сторінки», потім «Видалити сторінку». Зі списку сторінок вибираємо сторінку, яку треба видалити і натискаємо на відповідне посилання «видалити».

Рис. 30. Список сторінок сайту для видалення

Управління книгою відгуків

Для того, щоб додати повідомлення від імені адміністратора потрібно у панелі навігації вибрати пункт «Книга відгуків», потім «Додати повідомлення», потім у форму ввести текст і натиснути на кнопку «Додати повідомлення».

Рис. 31. Додавання нового повідомлення у книгу відгуків Для того, щоб відкоригувати повідомлення треба вибрати у панелі навігації пункт «Книга відгуків», потім «Редагувати повідомлення». На екрані з’явиться список усіх повідомлень. Для кожного повідомлення розміщується посилання «редагувати».

Рис. 32. Список повідомлень книги відгуків, доступних для редагування

Вибираємо потрібне повідомлення і натискаємо на посилання «редагувати». Далі вносимо зміни і зберігаємо їх.

Видалення повідомлень здійснюється аналогічним чином.

Управління форумом.

Для того, щоб створити нову тему треба:

1. Вибрати у панелі навігації пункт «Форум», потім «Додати тему».

2. Ввести назву теми та її короткий опис.

3. Натиснути на кнопку «Додати тему».

Рис. 33. Додавання нової теми у форум Якщо треба відкоригувати або видалити тему, то вибираємо пункт «Форум», потім «Редагувати/видалити тему». Потім знаходимо у таблиці потрібний рядок і натискаємо на посилання «редагувати» або «видалити».

Рис. 34. Редагування теми у форумі

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

Рис. 35. Вибір теми форуму Рис. 36. Форма для додавання повідомлення

7. Керівництво програмісту

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

Рис. 37. Структура бази даних

Таблиця «users» (містить інформацію про адміністраторів веб-сайту)

Назва поля

Опис

admin_id

ID-номер адміністратора

admin_login

логін

admin_password

пароль

admin_name

прізвище, ім'я та по батькові

admin_email

адреса електронної пошти

admin_icq

номер ICQ

admin_type

тип адміністратора (М — модератор, А — адміністратор)

Таблиця «pages» (містить інформацію про сторінки сайту та їх текстовий вміст)

Назва поля

Опис

page_id

ID-номер сторінки

page_title

назва сторінки

page_text

текст сторінки

page_date

дата останнього внесення змін у текст сторінки

Таблиця «gustbook» (містить повідомлення книги відгуків)

Назва поля

Опис

gb_id

ID-номер повідомлення

gb_text

текст повідомлення

gb_date

дата

user_id

ID-номер користувача, який написав повідомлення

Таблиця «themes» (містить назви тем форуму)

Назва поля

Опис

theme_id

ID-номер теми

theme_name

назва теми

theme_comment

короткий опис теми

admin_id

ID-номер модератора теми

Таблиця «forum_messages» (містить повідомлення форуму)

Назва поля

Опис

message_id

ID-номер повідомлення

message_text

текст повідомлення

message_date

дата

user_id

ID-номер користувача, який написав повідомлення

theme_id

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

Таблиця «users» (містить інформацію про користувачів веб-сайту)

Назва поля

Опис

user_id

ID-номер користувача

user_login

логін

user_password

пароль

user_name

прізвище, ім'я та по батькові

user_email

адреса електронної пошти

user_icq

номер ICQ

user_homepage

адреса домашньої сторінки

user_enabled

чи дозволено доступ користувачу (Y або N)

7.2 Діаграма прецедентів

Рис. 38. Діаграма прецедентів

7.3 Структура веб-сервера та веб-сайту

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

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

Рис. 39. Структура веб-сервера та веб-сайту

В якості веб-сервера використано пакет Denwer, тому цим і обумовлена наступна структура веб-сервера:

· denwer — папка містить скрипти для запуску, перезапуску та зупинки роботи веб-сервера.

· home — тут розміщуються папки віртуальних хостів;

· tmp — зберігає тимчасові файли;

· usr — у цій папці розміщуються файли веб-сервера Apache, мови програмування PHP, сервера баз даних MySQL і т.п.

База даних MySQL зберігається на сервері у папці:

Z:usrlocalmysql5datatovpbk

Всі скрипти сайту розміщуються у папці Z: hometovpbk.com.uawww.

Веб-сайт має таку структуру:

· config — у папці зберігаються конфігураційні файли, у яких оголошуються іменовані константи, які використовуються у програмних скриптах.

· data — містить графічні файли, архіви, текстові документи, які неможливо розмістити у базі даних;

· design — містить усі файли (графічні та html-документи), які необхідні для формування дизайну сайту;

· fckeditor — модуль візуального редактора FCKeditor 2.5, який використовується для верстки веб-сторінок сайту.

· modules — папка, у якій міститься основний програмний код сайту.

o admins — у цій папці розміщуються скрипти, які дозволяють управляти адміністраторами сайту;

o forum — містить скрипти, які реалізують форум;

o guestbook — містить скрипти, що забезпечуються функціонування книги відгуків на сайті;

o main — у даній папці знаходяться скрипти головного модуля сайту (у ньому реалізовано програмний код, який встановлює з'єднання з базою даних, виконує авторизацію користувачів, роботу з шаблонними сторінками тощо);

o pages — містить скрипти, які дозволяють додавати, редагувати, видаляти та переглядати сторінки сайту;

o searchinsite — у папці знаходяться скрипти, які реалізують пошук сторінок на сайті;

o users — у цій папці розміщуються скрипти, які дозволяють управляти користувачами сайту

· admin. php — головний файл системи адміністрування;

· index. php — головний файл сайту.

7.4 Опис механізмів передачі даних між сторінками

У даній випускній роботі використовуються такі методи передачі даних:

1. Метод GET. При використанні цього методи дані передаються через рядок адреси. До URL-адреси додається знак «?», після якого перераховуються параметри та їх значення. Наприклад:

http://tovpbk.com.ua/index.php?page_id=1

В даному прикладі скрипту index. php передається параметр з ім'ям «page_id», значення якого рівне «1». Для того, щоб зчитати передане значення використовується асоціативний масив $_GET. Наприклад: $_GET[`page_id'].

При передачі кількох параметрів за допомогою GET-метода, вони розділяються за допомогою символа «&». Наприклад:

http://tovpbk.com.ua/admin.php?mod=Admins&EditAdmin=1&admin_id=2

2. Метод POST. Даний метод передає значення параметрів за допомогою рядка, який є прихованим від користувача. Більшість форм, які реалізовано у представленій роботі, передають дані саме за допомогою цього метода. Наприклад, форма для авторизації має такий вигляд:

Логін:

Пароль:

Для того, щоб прочитати введений користувачем логін та пароль, у скриптах використовується масив $_POST. Наприклад: $_POST[`admin_login'], $_POST[`admin_password'].

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

Для початку роботи з сесіями в роботі використано наступні функції:

· session_start () — розпочати роботу із сесією;

· session_destroy () — завершення роботи із сесією; знищує усі дані, які зберігалися у сесії;

· session_id () — отримати SID;

· session_register ($name1, $name2, …) — зареєструвати у сесії змінні;

· session_unregister ($name) — видалити змінну $name із сесії;

Для того, щоб отримувати доступ до даних сесії використовується асоціативний масив $_SESSION.

7.5 Опис класів, які виконують взаємодію з базою даних

Скрипт, який встановлює з'єднання з базою даних.

$DB_HOSTNAME = «localhost»; // адреса сервера MySQL

$DB_USER = «root»; // ім'я користувача бази даних MySQL

$DB_PASSWORD = «Fwe4drwF»; // пароль користувача

$DB_NAME = «tovpbk»; // ім'я бази даних

$conn = mysql_connect ($DB_HOSTNAME, $DB_USER, $DB_PASSWORD);

mysql_select_db ($DB_NAME); // вибираємо базу даних

mysql_query («SET NAMES cp1251», $conn); /* Встановлюємо кодування cp1251 — для того, щоб коректно відображалася кирилиця */

?>

Проілюструємо роботу з базою даних на прикладі скрипта, який реалізує управління адміністраторами сайту.

/* підключаємо файл database. php, який встановлює з'єднання з базою даних */

include («database.php»);

class Admins

{

// Функція додає нового адміністратора

function Add ($admin_login, $admin_password, $admin_name, $admin_email, $admin_icq, $admin_type)

{

// Формуємо запит на додавання запису у таблицю

$query = «INSERT INTO admins (admin_login, admin_password, admin_name, admin_email, admin_icq, admin_type) VALUES ('{$admin_login}', '{$admin_password}', '{$admin_name}', '{$admin_email}', '{$admin_icq}', '{$admin_type}')» ;

// Виконуємо запит

mysql_query ($query);

}

// Функція видаляє адміністратора

function Delete ($admin_id)

{

// Формуємо запит на видалення запису з таблиці

$query = «DELETE FROM admins WHERE admin_id = '{$admin_id}'» ;

mysql_query ($query); // Виконуємо запит

}

// Функція оновлює інформацію про адміністратора

function Update ($admin_id, $admin_login, $admin_password, $admin_name, $admin_email, $admin_icq, $admin_type)

{

// Формуємо запит на оновлення запису

$query = «UPDATE admins SET admin_login = '{$admin_login}', admin_password = '{$admin_password}', admin_name = '{$admin_name}', admin_email = '{$admin_email}', admin_icq = '{$admin_icq}', admin_type = '{$admin_type}' WHERE admin_id = '{$admin_id}'»; mysql_query ($query); // виконуємо запит

}

/* Функція повертає інформацію про адміністратора з ID-номером $admin_id */

function Select ($admin_id)

{

// Формуємо запит

$query = «SELECT * FROM admins WHERE admin_id = '{$admin_id}'» ;

$result = mysql_query ($query); // виконуємо запит

return $result; // повертаємо результат

}

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

function Auth ($admin_login, $admin_password)

{

// Формуємо запит

$query = «SELECT * FROM admins WHERE (admin_login = '{$admin_login}') AND (admin_password = '{$admin_password}')» ;

$result = mysql_query ($query); // виконуємо запит

if (mysql_num_rows ($result) > 0) /* якщо знайдено хоча б один рядок, то … */

return true; // повертаємо true

else // інакше …

return false; //повертаємо false

}

}

?>

У програмному коді використано такі функції бібліотеки MySql:

1. mysql_connect — встановлює з'єднання з сервером баз даних MySQL. Функція приймає три параметри: перший — адреса сервера, другий — логін користувача MySQL і третій — пароль користувача MySQL.

2. mysql_select_db — вибирає базу даних MySQL.

3. mysql_affected_rows — повертає кількість рядків, що були використані попередньою операцією MySQL.

4. mysql_db_query — виконує запит MySQL

5. mysql_fetch_array — отримати результат виконання запиту як асоціативний масив.

6. mysql_query — відправляє SQL-запит до серверу MySQL.

7. mysql_close — закриває MySQLз'єднання.

Висновки

В рамках даної роботи було розроблено ТОВ «Поліська будівельна компанія» .

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

Було реалізовано систему адміністрування веб-сайтом, яка дозволяє додавати та редагувати контент веб-сайту за допомогою веб-браузера. У системі адміністрування передбачено існування адміністраторів двох рівнів — головного адміністратора та модератора форуму.

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

При розробці даного порталу було використано мову програмування РНР та сервер баз даних MySQL. В якості візуального редактора використано Adobe Dreamweaver CS4. Для розробки дизайну сайту та обробки графічних зображень використовувалися такі графічні редактори як Adobe Photoshop CS4 і Corel PhotoImpact X3.

Показати весь текст
Заповнити форму поточною роботою