Розробка веб-сайту "Система для розміщення та пошук оголошень купівлі та продаж житла"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 24.09.2012
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Вступ

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

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

Метою даного дипломного проекту є розробка веб - сайту “Система для розміщення та пошук оголошень купівлі та продажу житла”.

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

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

Розробити систему для розміщення та пошуку оголошень з купівлі та продажу житла.

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

1.1 Забезпечить адміністраторам сайту обмежений доступ до зміни інформації на сайті.

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

1.3 Надасть можливість додавати, редагувати та видаляти сторінки сайту.

1.4 Забезпечить можливість зміни структури меню

1.5 Дозволить закачувати файли на сервер та редагувати їх.

1.6 Надасть можливість додавання, редагування та видалення новин.

1.7 Дозволить здійснювати управління оголошеннями.

1.8 Матиме можливість вибору активної мови (російської або англійської).

2. Розробити клієнтську частину сайту. Для цього:

2.1 Спроектувати дизайн шаблонної сторінки сайту. Описати її каркас за допомогою мови HTML та таблиць стилів CSS.

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

2.3 Організувати можливість зручного пошуку оголошень у базі даних.

2.4 Передбачити можливість реєстрації користувачів на сайті.

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

2. Аналіз аналогічних розробок

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

№п/п

Назва системи

Недоліки

1

PHP Nuke

Немає можливості пошуку по сайту, немає модуля «Запитання-відповіді», немає можливості групування сторінок сайту за тематичними розділами, занадто спрощене розподілення доступу між адміністраторами.

2

Drupal

Немає модуля «Запитання-відповіді», не передбачена можливість групування сторінок сайту за тематичними розділами

3

TinyPortal

Немає можливості пошуку по сайту, немає модуля «Запитання-відповіді», не передбачене групування сторінок сайту за тематичними розділами, немає можливості розподілення доступу між адміністраторами, відсутня статистика відвідування.

4

XYZSite

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

5

S.Builder

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

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

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

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

Розроблювачам Web-додатків немає необхідності говорити, що web-сторінки - це не тільки текст і картинки. Гідний уваги сайт повинен підтримувати деякий рівень інтерактивності з користувачем. Раніше все це реалізувалося CGI-скриптами. Але CGI-скрипти дуже погано масштабуються. Кожний новий виклик CGI вимагає від ядра породження нового процесу, а це забирає процесорний час і витрачає оперативну пам'ять. PHP надає інший варіант - він працює як частина Web-сервера, і цим самої схожий на ASP від Microsoft.

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

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

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

Процесор - 300 Мгц

Оперативна пам'ять - 32 Мб

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

Клавіатура - довільна

Миша - довільна

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

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

5. Керівництво системному адміністратору

В якості веб-сервера представленої розробки використано пакет «Денвер».

Джентльменський набір Web-розробника («Д.н.w.р», «Денвер») -- проект Дмитра Котерова, набір дистрибутивів (Apache, PHP, MySQL, Perl і т.п.) і програмна оболонка, які використовуються Web-розробниками для розробки сайтів на «домашній» (локальній) Windows-машині без необхідності виходу в Інтернет. Головна особливість Денвера -- зручність при віддаленій роботі одразу над кількома незалежними проектами і можливість розміщення на Flash-накопичувачі.

Базовий пакет Денвера містить більшість необхідних програм та утиліт:

Інсталятор (підтримує також інсталяцію на flash-накопичувач).

Apache, SSL, SSI, mod_rewrite, mod_php.

PHP5 з підтримкою GD, MySQL.

MySQL5.

Система управління віртуальними хостами

Система управління запуском и завершенням усіх компонентів Денвера.

phpMyAdmin -- система управління MySQL через Web-інтерфейс.

Емулятор sendmail і SMTP-сервера

Встановлення дистрибутива

Після запуску скачаного інсталятора Денвера на екрані з'явиться таке вікно:

Далі буде запропоновано вибрати, у який каталог необхідно встановити комплекс (по замовчуванню використовується каталог C:\WebServers, потрібно лише натиснути на клавішу Enter, щоб погодитися з цим вибором). У вказаному каталозі будуть розташовані абсолютно всі компоненти системи, і зовні його ніякі файли в подальшому не створюються.

Рекомендується встановлювати комплекс у каталог першого рівня - тобто, C:\WebServers, а не, наприклад, C:\My\WebServers. Річ у тому, що інсталятори пакетів розширень шукають базовий комплект саме на першому рівні по усім дискам. І, якщо не знаходить, пропонує користувачу ввести ім'я директорії вручну.

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

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

Створювати віртуальний диск при завантаженні машини (інсталятор зробить це автоматично), а при зупинці серверів його (диск) не відключати. Це найбільш зручний режим, і при виконанні даного дипломного проекту було використано саме цей режим.

Створювати віртуальний диск тільки за явною командою старта комплекса (при натисканні по ярлику запуска на Рабочому столы). І, відповідно, відключати диск від системи при зупинці серверів.

В деяких версіях Windows 98 присутня помилка, в результаті якої диск з першого разу не відключається.

Перший запуск Денвера

Встановлення сервера завершено. Для його запуску потрібно натиснути на створеному ярлику Start Denwer на Робочому столі, а потім, дочекавшись, коли всі консольні вікна зникнуть, відкрити браузер і набрати у ньому адресу: http://localhost/denwer/. Виходити з Інтернету при цьому не обов'язково.

Деякі ОС при першому запуску Internet Explorer-а викликають Мастер подключения. Якщо це відбулося на локальній машині, необхідно відмовитися від настройки параметрів, закривши майстер.

Якщо тестова сторінка все ж не завантажилася, потрібно перевірити:

Чи відключений на машині проксі-сервер у настройках браузера?

Чи запущено Денвер? Якщо так, чи немає помилок при натисканні на значок пера (справа внизу)?

Чи не запущено який-небуть інший Web-сервер, який заважає Денверу (часто буває в Windows XP)? Наприклад, Microsoft IIS? Якщо так, потрібно його вимкнути.

Робота з віртуальними хостами

Перед тим, як продовжити, потрібно переконатися, що у системі запущена служба «DNS-клієнт». Це можна зробити, відкривши «Панель управления -- Администрирование -- Службы». В іншому випадку віртуальні хости не будуть працювати.

Денвер дозволяє обслуговувати одним сервером одразу декілька хостів. Іншими словами, ввівши у браузері шлях http://localhost, буде відкрито один хост, а, надрукувавши http://test1.ru, -- на інший (але теж на локальній машині).

Додати новий віртуальний хост у Денвері надзвичайно просто. Нехай це буде test1.ua. Тоді необхідно виконати наступні дії:

Створити у папці /home директорію з іменем, яке співпадає з іменем віртуального хоста (у нашому випадку «test1.ua»). Ця директорія буде збурігати директорії документів доменів третього рівня для test1.ua. Наприклад, ім'я abc.test1.ua зв'язується сервером з директорією /home/test1.ua/abc/, а ім'я abc.def.test1.ua -- с /home/test1.ua/abc.def/. Ну і, звичайно, піддиректорія www відповідає адресам www.test1.ua і просто test1.ua. На рис. показано, як може виглядати директорія /home. Не потрібно забувати створити папку www у директорії віртуального хоста, оскільки саме у ній будуть зберігатися його сторінки та скрипти!

Перезапустити сервер, скориставшись, наприклад, ярликом Restart Denwer на Рабочому столі.

Це все, що потрібно зробити. При цьому, як можна було помітити, модифікація файлів httpd.conf і файла hosts не потрібна. Файл httpd.conf зовсім ніколи не потрібно змінювати. Трохи складніше з файлом hosts: він модифікується автоматично, підлаштовуючись під поточну конфігурацію каталогів у /home. При цьому використовується досить інтелектуальний алгоритм для розпізнавання, які хости були внесені Денвером, а які користувач додав самостійно, вручну (якщо він, звичайно, захоче це зробити). Тобто, автоматична зміна файла hosts ще не означає, що у ньому пропадуть усі коментарі і адміністратор не зможе більше ніколи редагувати його «руками». І, звичайно, при зупинці комплексу за допомогою ярлика Stop Denwer файл hosts відновлюється у той стан, у якому він і повинен бути.

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

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

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

Слід уважно слідкувати за діями при видаленні інформації з сайту, оскільки будь-яку видалену інформацію буде неможливо ніяким чином відновити!

6.1.1 Вхід у систему адміністрування

Відкрити веб-браузер (двічі клацнути по значку «Internet Explorer»).

У рядку адреси ввести адресу веб-сайту. В кінці адреси дописати рядок /admin і натиснути на клавішу «Enter».

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

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

6.1.2 Додавання користувача

На рис.1 показано вікно додавання нового користувача для роботи з CMS.

Рис.1. Вікно додавання користувачів.

Рис.2. Рядок вітання.

Поле "Ім'я" - введіть ім'я нового користувача, використовується тільки в рядку вітання (Рис.2). Допустима довжина імені 30 символів;

Поле "Статус" - виберіть один з двох доступних статусів Public або Superadmin. Відмінність в тому, що користувачам із статусом Superadmin доступні управління користувачами і настройками сайту. Статус користувача відображається в рядку вітання, поряд з Ім'ям користувача;

Поле "Логін" - введіть унікальний Login нового користувача, допустима довжина від 4-х до 8-ми символів;

Поле "Пароль" - введіть унікальний Password нового користувача, допустима довжина від 6-х до 15-ми символів;

"Вкл./Выкл." - при встановленій галочці користувач створюється в змозі Включений, або Вимкнений при знятті галочки;

Кнопка "Додати" - натискуйте для додавання користувача, знов створений користувач з'явиться у вікні "Редагування користувачів", Рис.3.

Всі поля є обов'язковими для заповнення

6.1.3 Редагування користувача

На рис.3 показано вікно редагування користувачів.

Рис.3. Вікно редагування користувачів.

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

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

6.1.4 Управління зареєстрованими користувачами

На рис.3.1 показано вікно редагування користувачів, які реєструвалися на сайті.

Рис.3.1. Вікно редагування користувачів.

Для внесення змін відредагуйте інформацію у відповідних полях і натискуйте ЗМІНИТИ. Або Видалити для видалення користувача.

6.1.5 Додавання сторінки

Рис.4. Кнопка додавання сторінки.

Для додавання нової сторінки натискуйте кнопку "Додати сторінку" рис.4.

На рис.5 показано діалогове вікно додавання матеріалу на сторінку.

Рис.5. Додавання нової сторінки. Показано для однієї мови

Поле "Назва сторінки (лат.)" - введіть унікальну назву створюваної сторінки, допускається використовування латинських символів від "a" до "z", знака підкреслення "_" і цифр від 0 до 9. Поле є обов'язковим для заповнення;

Поле "Заголовок (title)" - введіть заголовок сторінки, допустима довжина до 255 символів. Заголовок сторінки відображається у верхньому рядку браузера, для даної сторінки заголовком є "Допомога";

Поле "Ключові слова (keywords)" - введіть ключові слова и/или словосполучення, якими можна описати вміст створюваної сторінки, довжина до 255 символів;

Поле "Опис (description)" - введіть опис сторінки, одне, дві лаконічні пропозиції, які описують представлений на сторінці матеріал, довжина до 255 символів;

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

Новини - на сторінці буде організована ваша ностная стрічка;

Відправка повідомлень - з даної сторінки можна буде відправляти повідомлення на ваш email, який вказаний в розділі Настройки;

Додати оголошення - на сторінці буде додана форма для додавання оголошення і реєстрації користувача, якщо користувач не зареєстрований;

Дошка оголошень - на сторінці відображатиметься дошка оголошень;

Питання-відповідь - на сторінку буде додана форма питання-відповідь, де також можливість задаватиме питання;

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

Основне поле для введення матеріалу, обозначеное 1, описано в Додатку А. В це поле Ви вводите текст, зображення, таблиці, посилання і багато що інше;

В полі 2 представлений список доступних файлів для використовування. Це можуть бути зображення, текстові документи, файли для викачування і т.д. Додати потрібні Вам файли в це поле можна в розділі "Файли";

В полі 3 представлений список доступних внутрішніх сторінок сайту, на які можна посилатися. Після створення сторінки, посилання на цю сторінку з'явиться в полі 3;

В полі Банери (права колонка) - ви можете розміщувати баннерную рекламу для цієї сторінки;

При необхідності заповните інформацію і для інших мов;

Галочка "Публікація" - якщо зняти галочку, то сторінка не буде доступна на сайті, але існуватиме з CMS;

Натискуйте кнопку "Додати" для створення сторінки.

6.1.6 Редагування сторінки

Рис.6.Редагування сторінки

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

Починати завантаження сайту із сторінки

Рис.7. Зміна завантажувальної сторінки.

За умовчанням встановлено завантаження сайту з головної сторінки, яка називається "index", рис.7. Щоб починати завантаження сайту з іншої сторінки, виберіть її назву із списку і натискуйте "Змінити".

6.1.7 Меню

Для навігації по створених сторінках сайту необхідно використовувати Меню і пов'язати з кожним пунктом меню відповідну сторінку.

ВАЖЛИВО: Для коректної роботи меню не можна щоб різні пункти меню посилалися на одну сторінку, для кожного пункту меню повинна бути своя сторінка. В даній системі управління доступна 4-х рівнева структура меню.

Добавленя нового пункту меню

Рис.8. Додавання меню.

На рис.8 показано вікно додавання нового пункту меню.

Поле "Назва" - введіть назву пункту меню, обов'язково для заповнення;

Галочка "Горіз.меню(вкл.)/Верт.меню(выкл.)" - якщо галочка встановлена, пункт меню буде вставлений в горизонтальне меню, в осоружному випадку у вертикальне;

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

"Батьківське меню" - якщо меню повинне знаходитися на верхньому рівні структури, то залиште це поле порожнім. Інакше вибери той пункт меню до якого повинен належати створюваний пункт меню;

Кнопка "Додати" - натискуйте щоб додати новий пункт.

Редагування пунктів меню

Рис.9. Редагування меню.

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

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

Якщо необхідно перенести певний пункт меню в інший розділ, то виберіть цей розділ із списку в стовпці "Зміна батьківського меню";

На сайті доступна 4-х рівнева структура меню;

Щоб зміни набували чинності натискуйте кожного разу кнопку "Змінити". Натискуйте "Видалити" для видалення цього пункту меню і всіх підміню які до нього належать, самі сторінки при цьому не віддаляються.

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

Рис.10. Додавання файлів.

Додавання файлів

Для додавання нових файлів використовуйте діалогове вікно на рис.10. Одночасно Ви можете додати до 5-ти файлів. Стежте за розміром файлів, щоб в сумі вони не перевищували розмір Вашого хостинг пакету, інакше вони просто не додадуться. Час додавання файлів також залежить від їх розміру.

Ви можете додати файли або в теку "Загальні файли" або в "Зображення меню". Тека "Зображення меню" в даній CMS не використовується, тому всі файли за умовчанням додаються в теку "Загальні файли";

В першому полі введіть назву файлу з розширенням (Наприклад: foto.jpg, map.gif, word.doc, adobe.pdf і т.д.). Під цією назвою файл фігуруватиме в CMS незалежно від того як він називався у Вас на комп'ютері. В назві використовуйте, тільки дозволені символи: латинські символи від "a" до "z" знак підкреслення "_" дефіс "-" цифри від "0" до "9" і крапка ".";

Натискуйте кнопку "Огляд" і виберіть потрібний файл для додавання на Вашому комп'ютері;

Ви можете додати аналогічним чином до 5-ти файлів, заповнивши відповідні рядки;

Для додавання натискуйте кнопку "Додати";

Знов додані файли з'являться в списку файлів рис.11, в алфавітному порядку.

Редагування файлів

Рис.11. Управління файлами.

Файли в списку рис.11 розташовані в алфавітному порядку.

Натискуйте посилання "Дивитися" - для проглядання цього файлу в новому вікні;

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

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

6.1.8 Нерухомість за кордоном

Для додавання країни скористайтеся формою на мал. 11-1.

Рис.11-1. Додавання країни з описом.

Введіть назву і опис країни на 3-х мовах. Натискуйте Огляд і виберіть фотографію для цієї країни. Натискуйте Додати.

Рис.11-2. Вибір країни для редагування.

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

Рис.11-3. Редагування країни з описом.

Змініть інформацію у відповідних полях і натискайте «Змінити».

6.1.9 Новини

Рис.12-1. Додавання і зміна рубрики новин.

Щоб додати рубрику новин введіть її назву на 3-х мовах і натискуйте додати. Додана рубрика з'явиться в нижньому списку. Для її редагування змініть назву у відповідних полях і натискуйте Змінити або Видалити.

Додавання новини

Щоб додати новину - натискуйте Додати новину. У вас відкриється форма показана на рис. 12-2.

Рис.12-2. Форма додавання новини.

Заповніть відповідні поля на 3-х мовах і натискуйте потім внизу цієї форми «Додати».

Редагування новин

Для редагування новини виберіть її з випадаючого списку на мал. 12-3 і натискуйте Редагувати.

Рис.12-3. Вибір новини для редагування.

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

6.1.10 Оголошення

Для видалення оголошення виберіть його номер у відповідній рубриці і натискуйте Видалити. Для перемикання статусу оголошення в ТОП і назад, виберіть номер оголошення із списку і натискуйте Вкл./Откл. ТОП. Рис.12-4

Рис.12-4. Редагування оголошень.

6.1.11 Мовні налаштування сайту

Рис.13. Мовні налаштування

Діалогове вікно мовних налаштувань представлено на рис.13а).

Вибираючи мову за умовчанням, Ви встановлюєте ту мову на якому сайт завантажуватиметься спочатку. Можна також тимчасово відключати невживані мови, знявши відповідну галочку навпроти. Всі зміни підтверджуйте кнопкою "Змінити".

6.1.12 Опис роботи текстового редактора

Рис.14.

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

- Виділення тексту напівжирним

- Виділення тексту курсивом

- Підкреслення тексту

- Закреслення тексту

- Вирівнювання тексту по лівому краю

- Вирівнювання тексту по центру

- Вирівнювання тексту по правому краю

- Вирівнювання тексту по ширині екрану

- Format (форматування) - випадаючий список дозволяє вибрати різні варіанти і розміри тексту

- Font famify (тип шрифту) - випадаючий список дозволяє вибрати різні варіанти шрифту

- Font size (розмір шрифту) - випадаючий список дозволяє вибрати різні розміри тексту

- Ненумерований список

- Нумерований список

- Збільшення відступу слево

- Зменшення встановленого відступу слево

- Відмінити дію

- Повторити дію

- Вставіть/редактіровать посилання

- Видалити посилання

- Вставіть/редактіровать зображення

- Допомога

- Проглядання HTML коду матеріалу

- Вставити поточну дату

- Вставити поточний час

- Попередній перегляд (відкривається в новому вікні, дозволяє переглянути як виглядатиме матеріал)

- Зміна кольору шрифту

- Виділення маркером

- Вставка таблиці

- Редагування рядка таблиці

- Редагування елемента таблиці

- Вставка нового рядка таблиці перед

- Вставка нового рядка таблиці після

- Видалення рядка таблиці

- Вставка нового стовпця таблиці до

- Вставка нового стовпця таблиці після

- Видалення стовпця таблиці

- Об'єднання виділених осередків

- Вставка горизонтальної розділової лінії

- Видалення форматування виділеного тексту

- Виключення/включення рамки таблиці

- Установка нижнього індексу

- Установка верхнього індексу

- Вставка спеціальних символів

- Вставка flash/видео файлів

- Установка властивостей горизонтальної розділової лінії

6.2 Клієнтська частина сайту

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

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

Сторінка сайту складається з таких елементів:

1. Верхнє навігаційне меню. Воно дозволяє додати оголошення, сторінку новин та до розділу «новини».

У цьому ж меню розміщене «ТОП-пропозиція», за допомогою якого можна отримати інформацію про нерухомість замовити її тощо.

2. Панель «Пошук в Інтернеті», яка дає відвідувачам сайту можливість шукати інформацію в Інтернеті .

3. Прогноз погоди - панель, у якій відображається погодний інформер сайту gismeteo.ua.

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

6.2.1 Сторінки сайту

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

Якщо нам потрібно знайти квартиру чи здати в оренду потрібно в меню «пошук нерухомості» задати параметри такі як: тип нерухомості, вид угоди та регіон і натискаємо «пошук»

Нижче зображено результат даного пошуку:

6.2.2 Новини

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

Якщо натиснути на заголовок, потрапимо на сторінку, яка містить повний текст новини.

6.2.3 Додавання оголошень

В даному меню ми вибираємо із випадаючого меню потрібну пропозицію, об'єкт , країну та регіон і натискаємо кнопку «Далее»

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

7.1 Програмна реалізація проекту

Для створення даного веб-сайту було використано: мову розмітки гіпертексту HTML, СSS - каскадні таблиці стилів, браузерну мову програмуваня JavaScript, мову програмування PHP - мова серверних скриптів (server scripting language), систему керування базами даних MySQL.

В якості веб-сервера було обрано пакет Denwer.

Для роботи з дизайнерським пакетом було обрано програму AdobePhotoshop. В якості HTML-редактора було обрано PHPeditor.

Програмна частина проекту написана під інтернет-сервер Denwer, з використанням бази даних MySQL.За допомогою СУБД MySQL підвищується швидкість роботи програми.

При запуску дано проекту першим запускаться файл “index.php”.

7.2 Клас для роботи з базою даних

class Table

{

var $TableName; /* назва таблиці */

var $IndexField; /* ключове поле */

var $QuantityOfLinesOnPage; /* кількість записів на одній сторінці */

var $WhereStatement;

var $OrderByStatement;

/* конструктор класу, приймає параметри

$tableName - назва таблиці;

$indexField - ключове поле;

$quantityOfLinesOnPage - кількість записів на одній сторінці.

*/

function Table ($tableName, $indexField, $quantityOfLinesOnPage)

{

$this->TableName = $tableName;

$this->IndexField = $indexField;

$this->QuantityOfLinesOnPage = $quantityOfLinesOnPage;

$this->WhereStatement = "";

$this->OrderByStatement = "";

}

/* встановити порядок сортування записів:

$field - назва поля, за яким буде здійснюватися сортування;

$value - за спаданням або зростанням (DESC або ASC)

*/

function AddOrderByStatement($field, $value)

{ $this->OrderByStatement = "ORDER BY {$field} {$value}";}

/* встановлення критеріїв відбору записів */

function AddWhereStatement($value)

{

if ($this->WhereStatement == "")

$this->WhereStatement = "WHERE ({$value})";

else

$this->WhereStatement .= " AND ({$value})";

}

/* повертає загальну кількість записів */

function GetQuantityOfRows() {

$query = "SELECT COUNT(*) FROM {$this->TableName} {$this->WhereStatement}";

$query_result = mysql_query($query);

$row = mysql_fetch_array($query_result);

return $row['COUNT(*)'];

}

/* повертає запис із заданим ID-номером */

function GetRowById($id) {

$query = "SELECT * FROM {$this->TableName} WHERE {$this->IndexField} = '$id'";

$query_result = mysql_query($query);

$row = mysql_fetch_array($query_result);

return $row;

}

}

7.3 Організація передачі даних між сторінками

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

session_start(void)

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

При використанні іменованих сесій перед session_start() необхідно викликати session_name()

session_start() реєструє свій внутрішній хендлер виводу для модифікації УРЛ якщо РНР скомпільовано з опцією --enable-trans-sid. Тому, якщо використовується інший хендлер, як, наприклад, ob_gzhandler() слід враховувати послідовність хендлерів для отримання вірного результату.

session_destroy()

Знищує усі дані поточної сесії, при цьому самі змінні сесії зберігаються.

string session_name([string name])

Повертає/виставляє ім'я поточної сесії. Якщо ім'я name вказано - ім'я поточної сесії змінюється. При використанні іменованих сесій перед session_start() необхідно викликати session_name()

string session_save_path([string path])

Повертає/встановлює шлях для збереження файлів сесії

session_id([string id])

Повертає/встановлює ідентифікатор сесії. Замість цієї функції можна користуватися змінною SID.

session_register(mixed name[, mixed name2...])

Реєструє змінну (змінні) name, name2.... як глобальні змінні для поточної сесії. Якщо сеанс сесії не був ініційований session_start, його буде автоматично стартовано.

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

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

session_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() не присвоює якихось значень змінній, вона просто міняє її статус.

session_unregister(string name)

Відміняє глобальність змінної та викидає її з сесії. Не знищує значення змінної - використовуйте unset();

session_unset()

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

session_is_registered(string name)

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

7.4 Реалізація закачування файлів на сервер

Відповідно до протоколу HTTP файли можна закачувати двома способами:

POST методом;

PUT методом.

Найбільш поширений POST метод, PUT метод у цей час майже не використається. При виконанні даного дипломного проекту використано саме POST метод.

Щоб браузер передав файл, помістимо на сторінку такий HTML код:

<form enctype="multipart/form-data" method="post" action="upload_script.php">

<input type="hidden" name="MAX_FILE_SIZE" value="1000">

Виберіть файл: <input name="ім'я_поля" type="file">

<input type="submit" value="Послати файл">

</form>

Для того, щоб забезпечити можливість передачі файлів вказівка типу enctype="multipart/form-data" method="post" є обов'язковою. Розміщення прихованого поля <input type="hidden" name="MAX_FILE_SIZE" value="XXXX"> не є обов'язковою, але є бажаною.

Програмний код на мові РНР, який обробляє переданий файл має наступний вигляд:

<?php

function doUpload($field_name, $overwrite=false, $uniquename=false){

if (!is_array($field_name)) $field_name=Array($field_name);

// місце зберігання файлів

$storage="/home/www/forum/uploads/";

// маленькі перевірки на майбутні глюки

$flag = (bool) ini_get("safe_mode");

if ($flag||(!strstr($_SERVER['SERVER_SOFTWARE'], 'win'))){

if (getmyuid()!=fileowner($storage)){

die("Safe mode uncompatibililty. Check owner for '".$storage"'");

} }

// дозволені для закачування розширення (типи) файлів

$allowed=array( 'jpg', 'gif', 'png', 'pdf', 'doc', 'txt', 'rtf','zip','rar');

foreach ($field_name as $field_i){

// максимальний розмір файлу. В будь-якому випадку він не може бути

// більше чим upload_max_filesize=??M в php.ini (2Мб)

// а також post_max_size=??M (8Мб)

$maxsize=61440; // 60Kб

// зчитуємо ім'я файла, який закачується

$filename=$_FILES[$field_i]['name'];

// зчитуємо розмір файла, який закачується

$filename=$_FILES[$field_i]['size'];

// зчитуємо розширення файлу

$fileext=strtolower(substr(strrchr($filename,"."),1));

/* забороняємо закачування недозволених типів, наприклад PHP скриптів!! */

if(!in_array($fileext, $allowed)){

die("Неприпустимий тип файлу");

}

// забороняємо закачування занадто більших файлів

if($filesize>$maxsize){

die("Занадто великий файл");

}

// зчитуємо ім'я файлу, який заколисаний в тимчасову папку

// upload_tmp_dir= в файлі php.ini

$tmpfname=$_FILES[$field_i]['tmp_name'])

// виправляємо ім'я файлу, видаляємо неприпустимі символи, пробіли

$filename = ereg_replace("[^a-z0-9._]", "",

str_replace(" ", "_",

str_replace("%20", "_", strtolower($name))));

if ($filename="") {

die("Неприпустиме ім'я файлу. Тільки англійські букви, цифри і '_'!");

}

// повний шлях до закачування файлу

$filepath=$storage;

if ($uniquename){ $filepath=$filepath.time()."_"; }

$filepath=$filepath.$filename;

if (is_uploaded_file($tmpfname) {

// якщо $overwrite!=true перевіряємо немає чи уже такого файлу

if (!$overwrite){

if (file_exists($filepath)){

die("Файл з ім'ям <b>".$filename."</b> уже існує

Перейменуйте файл або видалите його з сервера");

} }

move_uploaded_file($tmpfname, $filepath)

or die("Помилка закачування файлу: ".$filename);

// Якщо користувач Апача і FTP різні, наприклад nobody і pupkin,

// те щоб мати доступ по FTP (по умовчанню виставляється 0600)

// поставте 0644 або 0666 якщо хочете також перезаписувати по FTP

@chmod($filepath, 0644);

} }}}

?>

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

Висновки

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

При розробці даної роботи були виконані всі вимоги технічного завдання. Було перепроектовано структуру портальної системи та структуру бази даних; реалізовано ядро портальної системи; створено головний модуль, який забезпечує динамічне підключення усіх інших модулів; реалізовано програмні модулі, які забезпечують роботу модулів «новини», «запитання-відповіді», «сторінки», «пошук » тощо.

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

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

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

При розробці даного порталу було використано мову програмування РНР та сервер баз даних MySQL. В якості візуального редактора та засобів обробки графіки використано Adobe Dreamweaver CS3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15. Котеров Д.В. «Самоучитель PHP4», - СПб.: БХВ - Петербург, 2003, -

16. 576 с.

17. Аргерих Л. и др. «Профессиональное PHP программирование», 2 издание, - пер. с англ., - СПб.: Символ-Плюс, 2003, - 1048 с.

18. Харрис Э. «PHP/MySQL для начинающих», пер. с англ., - М.: КУДИЦ-ОБРАЗ, 2005, - 384 с.

19. Вильямсон Х. «Универсальный Dynamic HTML. Библиотека программиста», - СПб.: Питер, 2001, - 2004 с.

20. Ахо А., Хопкрофт Дж., Ульман Дж. «Построение и анализ вычислитель-ных алгоритмов». - М.: Мир, 1979. - 535 с.

21. Фейсон Т. «Объектно-ориентированное программирование на Borland C++ 4.5.» - К.: «Диалектика», 1996. - 544 с.

22. Т.А. Павловская «С/С++. Программирование на языке высокого уровня».- СПб.: Питер, 2002. - 464 с.

23. Буч Г., Якобсон А., Рамбо Дж. «UML. Классика Computer Science». - СПб.: Питер, 2006. - 736 стр.

Размещено на Allbest.ru


Подобные документы

  • Вибір архітектури та інструментальних засобів розробки. Розробка модуля для перегляду сторінок сайту, доступного, зручного інтерфейсу системи адміністрування. Створення бази даних. Опис механізмів передачі даних між сторінками. Реалізація форуму на сайті.

    дипломная работа [7,1 M], добавлен 24.09.2012

  • Опис інформаційного забезпечення системи для розробки сайту. Технічне завдання на розробку web-сторінки. Комплект засобів, проектування та завантаження сторінок. Тестування сайту в різних браузерах. Розрахунок собівартості та ціни програмного продукту.

    дипломная работа [1,8 M], добавлен 14.05.2012

  • Сайт як інформаційна одиниця мережі Інтернет. Просування сайту за допомогою дошок оголошень. Створення web-сторінок за допомогою мови HTML. Послуги, які надають web-ресурси з пошуку роботи. Пошукові системи, сайти та портали з працевлаштування.

    курсовая работа [59,3 K], добавлен 02.10.2014

  • Обґрунтування потреби, поняття, класифікація, проектування та етапи розробки веб-сайту. Вибір програмних засобів, розробка інтерфейса і бази даних. Динамічна мова розмітки гіпертекстових документів DHTML. Розміщення категорій товарів в on-line магазині.

    дипломная работа [1,5 M], добавлен 04.08.2009

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

    курсовая работа [2,1 M], добавлен 17.12.2015

  • Види сайтів та характеристика сайту-візитки, сайту-магазину, новинного сайту та соціальних мереж. HTML та CSS як основа шаблону сайту та стилю оформлення. Розробка структури та вибір дизайну порталу новин, його програмний код та вигляд у браузері.

    дипломная работа [2,4 M], добавлен 20.10.2013

  • Розробка сайту "Система активної реклами" для розкрутки сайту в мережі Інтернет, заробітку грошей. Аналіз подібних систем. Інструментальні засоби розробки. Доступ до системи адміністрування. Керівництво програмісту: структура бази даних, основні класи.

    дипломная работа [2,6 M], добавлен 24.09.2012

  • Структура, характеристики та принципи розробки сучасного сайту-візитки. Розробка дизайну. Характеристика сайту кав’ярні. Основні вимоги до програми та до інтерфейсу. Опис проектних рішень, інструментів та підходів до розробки з обґрунтуванням їх вибору.

    дипломная работа [3,2 M], добавлен 19.03.2017

  • Вибір мови програмування та середовища розробки. Основні можливості мови php та сервера MySQL. Основні переваги середовища розробки NetBeans. Macromedia Dreamweaver як один з популярних середовищ розробки сайтів. Розробка програмного коду сайту.

    контрольная работа [3,0 M], добавлен 16.02.2013

  • Загальна характеристика особливостей алгоритму просування сайту. Розробка основних елементів фірмового стилю, що складають пакет рекламної кампанії. Етапи розробки Web-сайту компанії "Гранд Авто". Особливості програмної частини і структури сайту.

    дипломная работа [3,3 M], добавлен 26.02.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.