Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Механізм створення динамічних Web-сторінок

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

JavaScript має низку властивостей об'єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об'єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, притаманних функціональним мовам, — функції як об'єкти першого рівня, об'єкти як списки, каррінг (currying), анонімні функції, замикання (closures) — що додає мові додаткову гнучкість. Отримати… Читати ще >

Механізм створення динамічних Web-сторінок (реферат, курсова, диплом, контрольна)

КУРСОВА РОБОТА по дисципліні:

" Програмування та підтримка Web-застосувань"

3-й семестр на тему:

" Механізм створення динамічних Web-сторінок «

Анотація

В курсовій роботі був розроблений web-сайт «Творча майстерня SakhNYAsha design studio». Цей web-сайт може зацікавити багатьох, адже пропонує широкий вибір хенд-мейд виробів із полімерної глини.

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

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

Зміст

  • Вступ
  • 1. Опис предметної області
  • 2. Реалізація поставленого завдання
  • 2.1 Структура клієнтської частини
  • 2.2 Вибір елементів HTML4 і HTML5 для представлення контенту
  • 2.2.1 Структурування інформаційного наповнення сайту
  • 2.2.2 Стилізація
  • 2.2.3 Використання форм
  • 2.2.4 Введення елементів HTML5 та CSS3
  • 2.2.5 Використання svg-графіки
  • 2.3 Забезпечення взаємодії серверної частини web-додатків з клієнтською частиною
  • 2.3.1 Програмування скриптів на стороні клієнта засобами JavaScript
  • 2.3.2 Серверна частина web-додатку
  • 2.3.2.1 Використання PHP та бібліотек jQuery і Ajax
  • Висновки
  • Посилання та література
  • Додатки

Вступ

До теперішнього часу існує безліч технологій створення web-сторінок, без яких не може обійтися web-майстер. Але основою при розробці web-документів є, звичайно, мова розмітки HTML з використанням JavaScript, мови web-програмування PHP і Ajax.

У мові HTML є безліч тегів, серед яких: теги створення заголовка документа, задання параметрів шрифту, проведення ліній, вставки гіперпосилань, вставки графічних елементів і т.д. У підсумку, web-сторінка, крім тексту і посилань, може містити графіку, звуки, відео, тобто мати такий вигляд, який користувач і бачить на екрані комп’ютера.

Отримати уявлення про те, як виглядає код HTML можна якщо відкрити в браузері будь-яку web-сторінку і переглянути код HTML. При цьому можна побачити, як створена та чи інша сторінка — це стане в нагоді при розробці HTML документів. Однак не варто захоплюватися тільки цією стороною навчання HTML, щоб створювані документи не були погіршеним варіантом чужих сторінок.

PHP (англ. PHP: Hypertext Preprocessor — PHP: гіпертекстовий препроцесор), попередня назва: Personal Home Page Tools — скриптова мова програмування, була створена для генерації HTML — сторінок на стороні web-сервера.

PHP — мова, яка може бути вбудована безпосередньо в HTML-код сторінок, які, в свою чергу коректно будуть оброблені PHP-інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності ( ).

JavaScript — назва реалізації стандарту мови програмування ECMAScript компанії Netscape, базується на принципах прототипного програмування.

JavaScript має низку властивостей об'єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об'єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, притаманних функціональним мовам, — функції як об'єкти першого рівня, об'єкти як списки, каррінг (currying), анонімні функції, замикання (closures) — що додає мові додаткову гнучкість.

AJAX (Asynchronous JavaScript And XML) — підхід до побудови користувацьких інтерфейсів web-додатків, за яких web-сторінка, не перезавантажуючись, у фоновому режимі надсилає запити на сервер і сама звідти довантажує потрібні користувачу дані. AJAX — один з компонентів концепції DHTML.

сайт інформація стилізація елемент

1. Опис предметної області

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

Тому тема курсової робити присвячена екологічно чистим продуктам, а точніше — Творчій майстерні «SakhNYAsha design studio», яка виготовляє прикраси з полімерної глини — екологічно чистого матеріалу. Загалом, вироби з такого матеріалу є досить міцними, легкими, довго носяться і виглядають ефектно, незважаючи на їх невисоку собівартість. До того ж такі вироби є досить популярними і поширеними у всьому світі, адже полімерна глина у широкому продажі з’явилася у 1964р. і досі не втрачає своєї популярності. Вироби з полімерної глини дуже популярні у дівчат-підлітків, досить часто такі вироби обирають як подарунки, як предмети інтер'єру та декору, як весільні букети і т.п. Тому займатись таким ділом прибутково вигідно.

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

2. Реалізація поставленого завдання

2.1 Структура клієнтської частини

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

Сайт складається з головної сторінки та меню яке має посилання на інші сторінки: «Головна», «Новини», «Майстер-класи», «Каталог виробів», «Контакти», «Блог майстра» (Рисунок 1).

Рисунок 1. Структурна схема сайту

" Головна" - стартова сторінка, на які розміщені посилання на інші розділи та присутні посилання на сторінки «ВКонтакте», посилання на ресурс «Вікіпедія» та вхід для адміністратора сайту (Рисунок 2).

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

Сторінка «Блог майстра» має таку ж структуру що і сторінка «Новини» (Рисунок 3).

Рисунок 2. Макет головної сторінки

Рисунок 3. Макет сторінки новин

Сторінка «Каталог виробів» містить в собі посилання на такі підрозділи (категорії): Сережки, Кулони і буси, Персні, Брошки, Браслети, Різне. Кожен підрозділ представлений тематичним набором ілюстрацій. Таку ж саму структуру має і сторінка «Майстер-класи» (в ролі підрозділів — назви майстер-класів) (Рисунок 4, Рисунок 5).

Рисунок 4. Макет сторінки

Рисунок 5. Макет сторінки

" Каталог виробів" «Майстер класи»

Сторінка «Контакти» містить посилання на зовнішні ресурси (пошту майстра) (Рисунок 6).

Рисунок 6. Макет сторінки «Контакти»

2.2 Вибір елементів HTML4 і HTML5 для представлення контенту

2.2.1 Структурування інформаційного наповнення сайту

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

,

,, які були необхідні для редагування тексту.

Визначені гіпертекстові посилання між сторінками.

Текстове наповнення головної сторінки складається із звернення до відвідувачів сайту, опису матеріалів, рубрики «Новинки», «Акції» та контактів (в кінці сторінки).

Сторінка новин містить в собі такі новини: надходження тих чи інших виробів, оновлення асортименту, найближчі виставки та майстер-класи та ін.

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

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

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

Текстове наповнення сторінки контактів — це посилання на групу ВК та e-mail майстра.

2.2.2 Стилізація

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

На основі банерів було реалізовано карти-зображення (верхній банер — посилання на головну сторінку сайту, нижній банер — посилання на групу ВК та пошту).

На головній сторінці в рубриці звернення до відвідувачів присутнє зображення-посилання на сторінку майстра ВК. Також було реалізовано gif-анімацію, яка розміщена на головній сторінці у рубриках «Новинки» та «Акції»

Сторінки «Новини», «Майстер-класи» та «Блог майстра», «Каталог виробів» містять окремі блоки (таблиці) з інформацією, посиланнями та зображеннями.

Сторінки контактів повністю реалізована за допомогою однієї таблиці, в комірках якої розміщені інші елементи (таблиці, зображення, текст і т.д.)

2.2.3 Використання форм

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

На сторінці «Контакти» було реалізовано форму «Зв'яжіться зі мною», яка включає такі поля: «Прізвище», «Ім'я», «E-mail», «Пароль», «Рік народження», Стать, поле вводу повідомлення та кнопок «Відправити», «Відмінити» .

Поля «Прізвище», «Ім'я», «E-mail», «Пароль», «Рік народження» є обов’язковими для заповнення. Якщо хоча б одне з полів не заповнене, то браузером видається повідомлення про обов’язковість цього поля. Поле «Рік народження» дає змогу вибрати дату свого народження за допомогою спеціальних кнопок. Значення цього поля від 1910 до 2013 року. При вводі неправильних даних браузер видає відповідне повідомлення.

2.2.4 Введення елементів HTML5 та CSS3

В даній роботі використовувалися такі теги як

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

Значення тегів:

·

містить в собі верхній банер сторінки

· - панель навігації

·

— блок новин в якому кожна новина міститься в тегу

·

— нижній банер сторінки

2.2.5 Використання svg-графіки

Svg-графіка — це векторна графіка, яка досить часто використовується при створенні web-сторінок. Задається тегом . Може створюватись за рахунок прописання параметрів в файлі з розширенням *. svg або ж за допомогою спеціальних конверторів.

На сторінці «Блог майстра» реалізована заливка фона градієнтом та присутні svg-зображення.

Верхній, нижній банери та обрамлення — це png-зображення які були конвертовані в svg-зображення за допомогою рекомендованих конверторів.

Інші зображення створювалися безпосередньо в svg-редакторах

2.3 Забезпечення взаємодії серверної частини web-додатків з клієнтською частиною

2.3.1 Програмування скриптів на стороні клієнта засобами JavaScript

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

Щоб потрапити на сторінку адміністратора потрібно ввести:

Логін: aurum Пароль: potestas Ключове слово: est

На сторінці входу присутні верхній банер з посиланням на головну сторінку та спрощений нижній. Також присутня форма входу: поля «Логін», «Пароль», «Ключове слово» та захована кнопка підтвердження вводу (достатньо натиснути Enter для входу).

На сторінці адміністратора присутні блоки «Реєстрація», «Коментарі», верхній та спрощений нижній банери.

Додано форми реєстрації та введення коментарів.

Введені коментарі відображаються у спеціально відведеній частині сторінки та у блоці адміністратора. Адміністратор може видаляти ці коментарі та слідкувати коли і ким вони були написані.

Проект був успішно розміщений та протестований на Денвері власного ПК.

2.3.2 Серверна частина web-додатку

2.3.2.1 Використання PHP та бібліотек jQuery і Ajax

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

На сторінці входу присутні верхній банер з посиланням на головну сторінку та спрощений нижній. Також присутня форма входу: поля «Логін», «Пароль» та кнопка підтвердження вводу. Якщо дані невірні, то виводиться відповідне повідомлення.

Щоб потрапити на сторінку адміністратора потрібно ввести:

Логін: aurum Пароль: potestas

На сторінці адміністратора присутній блок «Розмістити новину», верхній та спрощений нижній банери.

Введені новини відображаються у спеціально відведеній частині сторінки «Блог майстра» (основного сайту) та у текстовому файлі. Адміністратор може видаляти ці коментарі безпосередньо з текстового документу. На сторінці «Каталог виробів» замінено звичайне меню на меню-гармошку, яке включає всі основні розділи та дозволяє переглянути підрозділи. На головній сторінці замість gif-зображень було реалізовано слайд-зміну зображень за допомогою функцій бібліотеки jQuery.

Висновки

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

При розробці web-сайта були проаналізовані сучасні web-технології, що дозволяють створювати інтерактивні web-сторінки. Найбільш відповідними для виконання поставленого завдання виявилися мова розмітки HTML, мова web-програмування PHP, JavaScript та бібліотеки jQuery, Ajax.

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

Як подальше вдосконалення сайту планується розробка можливості online замовлення/бронювання виробів, або ж переробка данного сайту на online магазин.

У додатках вибірково наведені лістинги програмного коду сторінок web-сайту.

Посилання та література

1. Творча майстерня «Lollipop» http://lollipop. kiev.ua/

2. Все про створення сайтів та web-програмування для початківців http://htmlbook.ru/

3. «Веб Database Application with PHP and MYSQL», 2nd Edition By David Lane, Hugh E. Williams. © O'Reilly, May 2004. ISBN: 0−596−543−1.

4. CMS List. Огляд cms. Сайт про системи управління сайтом

5. http://www.cmslist.ru

6. Joomla CMS по-російськи

7. http://joomlaportal.ru

8. Content management system

9. http://www.brutto.ru/informacija/uznat-bolshe/content-management-system

10. CMS огляд: CMS, движок сайту, система управління сайтом, mambo, php nuke, netcat, phpbb, invision power board, vbulletin

11. http://cmsobzor.ru/news. php

12. «Dreamweaver MX 2004 для „чайников“ .» Уорнер, Джанни, Гарднер, Сюзанна. Пер. с англ. — М.: Издательский дом «Вильямс», 2004. — 352 с.

13. «PHP, MySQL и Dreamweaver MX 2004. Разработка интерактивных Web-сайтов.» Дронов В. А. — СПб.: БХВ-Петербург, 2010. — 448 с: ил.

14. «PHP and MySQL Web Development (4th Edition)», Luke Welling, Laura Thomson 848 стр., с ил.; ISBN 978−5-8459−1574−0, 978−0-672−32 916−6.

15. Авторські права на фото належать Творчій майстерні «SakhNYAsha design studio»

Додатки

У додатках вибірково представлені лістинги програмного коду сторінок web-сайту.

Сторінка входу до сторінки адміністратора index. php

function fun () {

var name = document. getElementById ('name'). value;

var password = document. getElementById ('password'). value;

if (name == '' || password == '')

{

document. getElementById ('rename'). style. display = 'block';

}

else

{

$. ajax ({

type: 'POST',

url: 'api. php',

data: ({

name: name,

password: password

}),

success: function (html) {

$ ('#rename'). show ().html (html);

},

error: function (html) {

alert ('error');

}

});

}

return false;

}

body{background: #FFE6CC; font-family: «PT Sans» ," Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; overflow: hidden; outline: none! important; }

. main{background: #B77171; margin: 100px auto; padding: 0px 20px 10px 20px; width: 215px; }

. label{color: #fff; padding: 5px; }

. input{padding: 5px; border: 1px solid #924 949; outline: none! important; }

. input: focus{background: #924 949; color: #fff; }

#login{background: #924 949; color: #fff; font-weight: bold; padding: 4px 10px; border: 0px; margin-top: 5px; }

#login: hover{background: #5F3030; cursor: pointer; }

Вход

Логин:
Пароль:

Все поля обязательны для заполнения

Сторінка адміністратора admin. php

header («Content-Type: text/html; charset=utf-8»);

if (! isset ($_SESSION ['name']) ||! isset ($_SESSION ['password']) ||! isset ($_SESSION ['role'])) {

header («Location: http://test1.ru/index. php»);

}

? >

function addNews () {

var name = document. getElementById ('name'). value;

var area = document. getElementById ('area'). value;

if (name == '' || area == '')

{

document. getElementById ('rename'). style. display = 'block';

}

else

{

$. ajax ({

type: 'POST',

url: 'addnews. php',

data: ({

name: name,

text: area}),

success: function (html) {

$ ('#rename'). show ().html (html);

},

error: function (html) {

alert ('error'); }

});

}

return false;

}

body{background: #FFE4E1; font-family: Gabriola, sans-serif; font-size: 24px;! important; }

Приветсвую,

Добавить новость

Название:
Текст:

Все поля обязательны для заполнения

Функції php, які відносяться до сторінок index. php та admin. php

addnews. php

if (isset ($_POST ['name']) && isset ($_POST ['text']))

{$name = mysql_real_escape_string ($_POST ['name']);

$text = mysql_real_escape_string ($_POST ['text']); }

$fp = fopen ('news. txt', 'a');

if ($fp)

{fwrite ($fp, $name. «#». $text. «#1n»);

fclose ($fp);

echo 'Новость добавлена'; }

else

{echo 'Ошибка прочтения файла'; }

? >

api. php

header («Content-Type: text/html; charset=utf-8»);

if (isset ($_POST ['name']) && isset ($_POST ['password']))

{$name = mysql_real_escape_string ($_POST ['name']);

$password = mysql_real_escape_string ($_POST ['password']); }

session_start ();

$fp = fopen ('login. txt', 'r');

if ($fp)

{while (! feof ($fp))

{$mytext = fgets ($fp, 4096);

$loginForm = explode ('#', $mytext);

if ($name == $loginForm ['0'] && $password == $loginForm ['1'] && $loginForm ['2'] == «admin»)

{$_SESSION ['name'] = $name;

$_SESSION ['password'] = $password;

$_SESSION ['role'] = «admin» ;

die (''); }}

if ($noAdmin == 0)

{ echo 'Неверные данные'; }}

else

{echo 'Ошибка прочтения файла'; }

? >

add. php

$fp = fopen ('news. txt', 'r');

if ($fp)

{while (! feof ($fp))

{$mytext = fgets ($fp, 4096);

if ($mytext == '') {echo ''; }else{

$loginForm = explode ('#', $mytext);

echo '

'. $loginForm ['0']. '
'. $loginForm ['1']. '

'; }}}

else

{echo 'Ошибка прочтения файла'; }

? >

Головна сторінка сайту index1. php

<! - -

$ (document). ready (function ()

{

$ ('#slider'). cycle ({

timeout: 3000,pause: 1,});

});

->

Вход

Главная|Новости|Мастер-классы|Каталог изделий|Контакты|Блог мастера

Добро пожаловать!О материалах
Добро пожаловать в мастерскую SakhNYAsha design studio! Здесь вы можете найти замечательные подарки ручной работы себе и своим близким!Пластика (полимерная глина) — это материал из которого изготавливаются изделия. Изделия с такого материала достаточно прочны и долговечны=)

Новинки! Только все свежее! =)Акции! Спешите преобрести со скидкой!
Все новинки можна посмотреть в разделе " Каталог изделий" Все акции можна посмотреть в разделе " Новости"
id="slider" >

src="images/031. jpg" alt="" width="550″ />

src="images/032. jpg" alt="" width="550″ />

src="images/033. jpg" alt="" width="550″ />

src="images/034. jpg" alt="" width="550″ />

src="images/035. jpg" alt="" width="550″ />

src="images/036. jpg" alt="" width="550″ />

Сторінка " Каталог виробів" album. php

type=" text/javascript" >

$ (document). ready (function ()

{$ . accordion h1: first» ). addClass active» );

$ . accordion p: not (: first). hide ();

$ . accordion h5» ). click (function () {

$ (this). next p» ). slideToggle slow» )

. siblings p: visible» ). slideUp slow» );

$ (this). toggleClass active» );

$ (this). siblings h5» ). removeClass active» ); });

});

. accordion {width: 200px; border-bottom: 0px #ffffff; }

. accordion h5 {background: #ffffff url (images/arrow-square. gif) no-repeat right - 51px; padding: 7px 15px; margin: 0; border: #ffffff; border-bottom: none; cursor: pointer; }

. accordion h5: hover {background-color: #ffffff; }

. accordion h5. active {background-position: right 5px; }

. accordion p {background: #ffffff; margin: 0; padding: 10px 15px 20px; border-left: 0px #ffffff; border-right: 0px #ffffff; }

Главная|Новости|Мастер-классы|Каталог изделий|Контакты|Блог мастера
Каталог изделий

class=" accordion" >

Серьги

href=" album. php" >Вишенки

href=" album. php" >Сакура

href=" album. php" >Лимонки

href=" kylon. php" >Кулоны

Кольца

href=" album. php" >Сердце

href=" album. php" >Секреты благородных

href=" album. php" >Суши

Броши

href=" album. php" >Олень

href=" album. php" >Сёдзе

href=" album. php" >Совушка

Браслеты

href=" album. php" >Фиолетовый бум

href=" album. php" >Кислинка

href=" album. php" >Ассорти

href=" album. php" >Разное

bgcolor="white" >

КольцаСерьгиКулоны
БрошиБраслетыРазное

Сторінка " Блог майстра" other. php

Главная|Новости|Мастер-классы|Каталог изделий|Контакты|Блог мастера

<?

require_once ('add. php');

? >

" Дело было вечером, делать было нечего. «
Вот такая странная родилась картинка после похода в цирк=)

Сторінка новин news.html

" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd" >

Главная|Новости|Мастер-классы|Каталог изделий|Контакты
10 октября
Акция!

Что может быть теплее чем вязаный свитерок? А вязаное сердце??? =)))

Не упустите свой шанс приобрести брошку «Тёплые чувства» !

Найти можно здесь: " Каталог изделий"

Сторінка контактів kontakt.html

" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd" >

text=black

alink=#0

link=#0>

cellpadding=0

cellspacing=0

width="100%" >

align="center"

cellpadding=3

cellspacing=0

bgcolor="white" >

Главная|

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