Разработка модуля сайта преподавателя по дисциплине "Интернет-технологии"
Базовые принципы системы дистанционного образования. Организационно-информационная поддержка и элементы дистанционного учебного курса, этапы его создания. Организация и контроль самостоятельной работы студентов средствами веб-сайта преподавателя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.05.2009 |
Размер файла | 10,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.
Краткий перечень возможностей MySQL.
Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных;
Количество строк в таблицах может достигать 50 млн;
Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих;
Простая и эффективная система безопасности.
MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД. В MySQL отсутствуют:
Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE;
Нет поддержки триггеров и хранимых процедур;
Нет поддержки внешних ключей.
По словам создателей именно эти пункты дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность.
2.4.3 Выбор средства проектирования web-сайта
На сегодняшний момент существует два мощных средства создания веб-сайтов - это последние версии FrontРage 2003 компании Microsoft и Dreamweaver MX 2004 компании Macromedia [14].
Программный пакет FrontPage долгое время развивался и совершенствовался фирмой Microsoft. Его версия FrontPage 2000 отличается от всех предыдущих тем, что она впервые интегрирована в структуру пакета программ Microsoft Office. Вероятно, это объясняется тем обстоятельством, что проектирование веб-сайтов и мультимедийных электронных изданий из задачи для профессионалов перешли в сферу офисной деятельности. FrontPage 2002 вновь поставляется отдельно от Microsoft Office XP.
FrontPage специализирован на подготовке электронных изданий, в частности - на разработке web-узлов целиком. Он поддерживает фреймовую структуру, ориентирован на простоту и удобство создания гиперссылок, обеспечивает единый стиль оформления различных web-страниц, оптимизирует скорость их загрузки. Таким образом, пакет отличается продуманностью реализации как эстетических, так и технических аспектов создания электронных изданий и позволяет, в какой-то степени, автоматизировать процесс проектирования. Неудобством в работе является автоматическая вставка не всегда нужных тэгов.
Программный пакет Dreamweaver, как и FrontPage, предназначен для проектирования различных сайтов, в том числе и сайтов издательств, одной из задач которых является распространение электронных изданий. Он пригоден как для создания небольших, так и очень больших сайтов. В первом случае разработкой занимается единственный специалист - web-мастер. В последнем случае над проектом работает целый коллектив, включающий администратора проекта, web-дизайнера, HTML-верстальщика, web-программиста, корректора, менеджера рассылок. Многие специалисты утверждают, что профессиональные web-дизайнеры в своей работе чаще всего используют Adobe Photoshop для подготовки графики и Macromedia Dreamweaver - для дизайна отдельных web-страниц. Особенностью данного программного средства является хорошая поддержка языка PHP, который используется в проекте для программирования и автоматическая или ручная синхронизация измененных данных с удаленным сервером. Эти особенности, а также простота и быстрота работы программы во многом обуславливают выбор именно этого программного продукта в качестве средства проектирования разрабатываемого web-приложение.
2.5 Установка и настройка аппаратно-программного комплекса
Для разработки системы используется комплекс программ. В качестве веб-сервера выбран Apache версии 2.0.35, в качестве языка программирования PHP 4.1.2, в качестве сервера баз данных MySQL 4.0.21. Для разработки и тестирования приложения используется Macromedia Dreamweaver MX 2004.
2.5.1 Веб - сервер Apache
Функции веб-сервера выполняет программа Apache. Когда браузер пользователя подключается к веб-серверу и посылает заголовок GET (это просьба передать файл), его запрос обрабатывает Apache. Apache проверяет, есть ли указанный в заголовке GET файл, и, если есть, отправляет его вместе с заголовками браузеру.
Apache - это стандарт веб-сервера в Интернете. Его основным конкурентом является IIS (Internet Information Server) от Microsoft, который работает под Windows. Apache, хотя и существуют его версии под Windows, преимущественно устанавливается на Unix-подобных операционных системах - Linux и FreeBSD. Нужно также заметить, что большинство хостеров используют именно Apache, а не IIS. IIS устанавливается в основном на корпоративных серверах, работающих под Windows.
Сервер Apache просто необходим - без него мы не сможем протестировать веб сценарии PHP. Конечно, можно тестировать и без сервера, но тогда нужно будет использовать сервер хостера. В этом случае затраты на Интернет сильно возрастут.
Для установки Apache для Windows нужно посетить сайт http://www. apache. org и загрузить версию Apache для Windows. Установка сервера проблем не вызывает: нужно просто запустить программу установки и выбрать тип установки Typical. Еще потребуется указать каталог, в который будет производиться установка. По умолчанию будет установлен в каталог "C: \Program Files\Apache Group\Apache".
По окончании установки Apache необходимо настроить. По умолчанию корневым каталогом для HTML-документов будет C: \Program Files\Apache Group\Apache\htdocs. Такое расположение не очень удобно, поэтому создадим каталог f: \home\localhost, в котором будут находиться файлы. В этом же каталоге создадим два подкаталога - cgi и html. В первом будут находится CGI-приложения, а во втором - HTML-файлы.
Затем нужно открыть в любом текстовом редакторе файл C: \Program Files\Apache Group\Apache\conf \httpd. conf и отредактировать следующие директивы:
ServerName - установить имя сервера. При этом, директива ServerName по умолчанию закомментирована, то есть игнорируется сервером. Поэтому необходимо раскомментировать эту директиву, убрав перед ней значок #.
DocumentRoot - установим значение С:/www/html:
DocumentRoot с:/www/html
Таким образом, укажем каталог, в котором будут размещаться HTML-файлы.
Установим директивы ScriptAlias так:
ScriptAlias/cgi/"с:/www/cgi/"
ScriptAlias/cgi-bin/"c:/www/cgi/"
Благодаря этому создадим два псевдонима для каталога с:/www/cgi. Таким образом, если будет указан путь http://localhost/cgi или http://localhost/cgi-bin, то на самом деле обращение будет к каталогу с:/www/cgi.
Секцию <Directory "С:/Program Files/Apache Group/Apache/htdocs"> заменим на следующую:
<Directory "c:/www">
Options Indexes Includes AllowOverride All Allow from all </Directory>
Таким образом, зададим ряд настроек по умолчанию для каталога с: \www и всех его подкаталогов. А именно: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, а также возможность использовать файлы. access для индивидуальной настройки каталогов.
Убедимся, что есть директива AddHandler:
AddHandler cgi-script. bat. exe. cgi
Эта директива указывает Apache на то, что файл с расширениями. bat. exe и. cgi следует воспринимать как CGI-модули.
Установим параметры SSI:
Addtype text/html. shtml
AddHandler server-parsed. shtml. html. htm Благодаря этому файлы с указанными расширениями будут обрабатываться SSI.
Необходимо сохранить отредактированный файл.
Теперь протестируем работу Apache. Запуск:
C: \Program Files\Apache Group\Apache\apache. exe
При успешном запуске появится надпись
Apache/2.0.35 (Win32) running...
Теперь можно проверить корректность работы сервера. Запустим Internet Explorer или любой другой браузер и введем: http://localhost. Вы должны увидеть стартовую страницу Apache. Теперь проверим CGI и SSI. Для этого создадим файл test. bat и поместим его в каталог c: \www\cgi:
@echo off
echo Content-type: text/html
echo.
echo.
echo Hello!
В окне браузера введите http://localhost/cgi/test. bat -увидите слово Hello! Для проверки SSI нужно создать файл test. html и поместить его в каталог c: \www\html:
SSI Test<br>
<! -tinclude virtual="/index. html" ->
SSI (Server Side Include) - включение со стороны сервера, позволяет включать в Web-страницу код HTML, находящийся в других файлах.
В окне браузера при вызове файла test. html вы увидите SSI Test, a затем - стартовую страницу Apache.
2.5.2 Установка РНР и настройка Apache для работы с РНР
После установки Apache установим РНР 4. Версию РНР 4 для Windows можно скачать по адресу http://www. php. net (последняя версия РНР доступна по адресу http://www. php. net/downloads. php).
Запустим программу установки, которая по умолчанию установит РНР 4 в каталог C: \Program Files\PHP 4\. Однако в процессе установки можно выбрать другой каталог.
Сразу после установки необходимо открыть файл php. ini (он будет в каталоге, куда вы установили РНР) и отредактировать следующие параметры:
[mail function] ; For Win32 only. SMTP = localhost
sendmail_from = me@localhost. com
Параметр SMTP задает имя SMTP-сервера. По умолчанию в качестве SMTP-сервера используется локальный компьютер - это хорошо для Linux, но в Windows вам нужно указать SMTP-сервер провайдера, потому что вряд ли у вас будет установлен почтовик под Windows. Если вы не сделаете этого, функция mail(), отправляющая сообщения, работать не будет.
После этого откроем файл httpd. conf (файл конфигурации Apache) и найдем в нем строку:
AddType application/x-httpd-php php
Убедимся, что данная строка не закомментирована, то есть перед ней не стоит значок #. Если он стоит - уберем его. Таким образом, всем файлам с расширением. php будет поставлен в соответствие МIМЕ-тип application/x-httpd-php.
Типы MIME используются для идентификации типа содержимого. Благодаря этому приложения смогут определять, какого вида данные присланы и в каком соответствии сети проводить их обработку. Перечень всех типов MIME, поддерживаемых системой, находится в файле C: \Program Files\Apache Group\Apache\conf. Тип MIME указывается в формате: тип/подтип. Вот основные типы MIME:
application - приложение (программа или документ, связанный с программой).
audio - аудиофайл (audio/mpeg).
image - графический файл (audio/png).
text - текст (text/html - в формате HTML, text/plain - простой).
MIME-тип пересылаемых по сети данных указывается в заголовке Content-type.
Сразу же после этой строки добавим строки:
ScriptAlias/_php_/"с:/Program Files/PHP5/" Action application/x-httpdhp "/_php_/php. exe"
В этих двух строках мы сначала создаем псевдоним _php_ для каталога с:/Program Files/PHP 4/, а затем связываем все файлы типа application/x-httpd-php с обработчиком php. exe.
Теперь можно протестировать РНР. Для этого создадим файл test. php:
<?
phpinfo ();? >
Данный файл нужно поместить в каталог c: \www\html. В браузере введите http://localhost/test. php. В итоге вы должны увидеть результат работы функции phpinfo().
2.5.3 Установка MySQL
Сервер MySQL можно загрузить по адресу http://www. mysql. com. Программа установки установит сервер в каталог С: \Progam Files\MySQL\. Для запуска MySQL создадим файл server. bat:
@echo off
"С: \Program Files\MySQL\bin\mysqld"
start/m "C: \Program Files\Apache Group\Apache\apache"
Если вы работаете в Windows NT или 2000, server. bat должен выглядеть так, как это показано в следующем листинге:
@echo off
start C: \Progra~l\MySQL\bin\mysqld-nt - standalone
C: \Progra~l\Apache~l\Apache\apache - k start
Теперь для запуска Apache и MySQL нужно ввести команду server. Создадим файл shutdown. bat, который будет останавливать оба сервера:
@echo off
C: \Progra~l\Apache~l\Apache\apache - k shutdown
C: \Progra~l\MySQL\bin\mysqladmin - u root shutdown
Также необходимо добавить в конец файла my. ini следующие строки (конкретно для данного проекта), задающие логин и пароль доступа к серверу:
user=root
password=geijr
Файл настройки сервера баз данных MySQL находится по умолчанию в корневом каталоге Windows. Просмотреть все базы данных и таблицы, созданные на сервере MySQL можно утилитой WinMySQLadmin 1.4
2.6 Работа в Macromedia Dreamweaver MX 2004
Интерфейс пакета Dreamweaver показан на рисунке 2.5 Помимо строки заголовка, строки меню, панели инструментов и стандартного рабочего окна программы отметим наличие нескольких палитр, которые, как и в графических редакторах, размещаются в рабочем окне программы.
Рисунок 2.5 - Интерфейс пакета Dreamweaver MX 2004 с командами меню Window.
Остановимся на палитре Object (Объекты), внешний вид которой представлен на рисунке 2.6 Внешний вид палитры изменяется в зависимости от типа объекта, выбранного в раскрывающимся списке, расположенного в ее верхней части; таким образом палитру можно назвать адаптивной. По умолчанию в списке устанавливается раздел Common (Основные). На рисунке 2.6 выбран именно этот вариант.
Рисунок 2.6 - Палитра Objects раздел Common
Эта палитра с помощью различных инструментов позволяет включать в состав страницы различные элементы, в частности, по порядку расположения кнопок в палитре в направлении слева направо и сверху вниз: Image (Изображение), Rollover Image (Анимированную кнопку), внешний вид которой изменяется при подведении к ней курсора мыши, Table (Таблицу), Tabular Data (таблицу с занесенными в нее данными, подготовленными заранее в другом программном пакете), Draw Layer (Новый изобразительный слой), Navigation Bar (Навигационную панель со специальными кнопками для перемещения по сайту), Horizontal Rule (Горизонтальную линейку), Е-mail Link (Ссылку на электронный адрес), Date (Текущую дату), Server-Side Include (Активизацию серверной стороны), Flash Button (Анимированную Flash-кнопку), Flash Text (Анимированный Flash-текст), Shockwave (Анимационный файл в Shockwave-формате), Generator (средства, делающие Web-страницы динамическими, в частности, апплеты и элементы ActiveX, объекты, воспроизводимые с помощью дополнительных модулей) и пр.
Палитра Objects раздел Forms (Формы), показанная на рисунке 2.7, служит для создания форм и содержит следующие кнопки: Form (Форма), Text field (текстовое поле), Button (Кнопка), Checkbox и Radio Batton (Переключатели), List/menu (Список/меню), File field (Поле для передачи файлов) и Image field (Поле для передачи изображений), Hidden field (Скрытое поле) и Jump menu (Указатель гиперссылки для перехода на другой сайт).
Рисунок 2.7 - Палитра Objects раздел Forms
Палитра Objects раздел Text (Формы), показанная на рисунке 2.8 позволяет включать в страницу различные элементы текстового форматирования - жирный текст, наклонный, создавать списки, переносы и т.п.
Рисунок 2.8 - Палитра Objects раздел Text
В нижней части всех палитр группы Object (Объект) предусмотрены поля Layout (Выравнивание) и View (Просмотр), которые позволяют наблюдать и управлять размещением объектов на Web-странице (рисунок 2.9).
Рисунок 2.9 - Палитра Objects раздел Layout
И наконец, важная палитра, облегчающая во многом работу со скриптами PHP - палитра Object - PHP. Предусмотрена вставка различных элементов языка PHP, например открывающего и закрывающего тэгов, операторов и т.п. (рисунок 2.10).
Рисунок 2.10- Палитра Objects раздел PHP
Прежде всего, надо тщательно продумать общую структуру сайта, а также структуру каталогов (папок) и размещение в них файлов. В начале работы следует разместить в корневом каталоге сайта все PHP-файлы и несколько подкаталогов, в том числе: изображений, создания баз данных, файлов, данных, новостей.
Для непосредственного создания сайта следует предварительно сделать все необходимые установки. С этой целью выбирается команда Edit | Preferences (Редактирование | Настройки). В результате откроется диалоговое окно Preferences (Настройки), показанное на рисунке 2.11 Здесь задаются различные настройки для будущего сайта - название, цвета ссылок, размещение каскадных таблиц стилей CSS, параметры использования различных элементов.
Рисунок 2.11 - Диалоговое окно Preferences
Для изменения любой страницы в Dreamweaver используется редактор страниц. На рисунке 2.12 показана рабочая область с загруженным документом inde. php. Редактировать можно в трех режимах - кода, дизайнера, совмещенного (кода и дизайнера). Для работы с PHP больше всего подходит первый режим. Просматривать страницы и запускать скрипты удобно по клавише F12, которая автоматически открывает страницу в выбранном заранее браузере.
Рисунок 2.12 - Редактор кода страниц
Для синхронизации изменений внесенных при модификации страниц сайта или добавлении данных (файлов или рисунков) используется редактор файлов (рисунок 2.13). Добавлять или удалять файлы можно из контекстного меню редактора, выбирая соответствующие пункты. Удобнее всего редактировать данные и модифицировать страницы в локальном режиме Local View, а затем синхронизировать с сервером в режиме Testing Server через пункт меню Sinchronize.
Рисунок 2.13 - Редактор файлов сайта
2.7 Разработка веб-сайта
Одним из значимых элементов любого сайта является пользовательский интерфейс. Удобство и простота его реализации во многом определяют успех любого проекта. Неудачная подборка цветовой гаммы, в том числе несочетающихся цветов, бывает причиной нежелания пользователей посещать даже насыщенный полезной информацией веб-ресурс. Для облегчения вывода текста созданы каскадные таблицы стилей [14]. А в качестве языка программирования используется PHP, эффективно взаимодействующий с базами данных и позволяющий реализовывать серьезные проекты.
2.7.1 Разработка пользовательского интерфейса
В качестве цветовой гаммы выбраны синие цвета и оттенки голубых, достаточно хорошо гармонирующие друг с другом. Текст отображен шрифтом семейства Verdana, Arial, Sans-serif черным, темно синим или красным цветом (Только в заголовочной части).
Основными элементами интерфейса являются: верхняя заголовочная часть, содержащая меню, левая информационная панель, рабочая область страницы, часть гостевой книги и нижняя часть, содержащая ссылку на страницу администрирования сайта.
2.7.2 Файловая структура веб-сайта
Все файлы приложения размещаются в корневом каталоге сайта. Проект содержит несколько подкаталогов:
InternetTechnology, хранит файлы подразделов дисциплин;
images, хранит все файлы изображений, используемые в приложении;
smiles, хранит смайлики для чата и гостевой книги.
В корневом каталоге хранятся файлы, описанные в таблице 2.13.
Таблица 2.13- Описание файловой структуры приложения
№ п/п |
Название файла |
Назначение файла |
|
1 |
Admchat. php |
Страница администрирования чата |
|
2 |
Admexam. php |
Страница администрирования экзаменатора. Удаление предметов или вопросов |
|
3 |
Adminguest. php |
Страница администрирования гостевой книги |
|
4 |
AdminInternetTechnology. php |
Главная страница администратора. Связана со страницами администрирования: admchat. php, admexam. php, adminguest. php, input. php, students. php |
|
5 |
Adminpass. php |
Вход на страницу администратора |
|
6 |
All. php |
Файл связи со всеми файлами функций |
|
7 |
BaseFunctions. php |
Основные функции |
|
8 |
Chat. php |
Страница чата |
|
9 |
Exam. php |
Страница тестирования |
|
10 |
FuncChat. php |
Функции для страницы чата |
|
11 |
FuncExam. php |
Функции для страницы тестирования |
|
12 |
FuncGuest. php |
Функции для гостевой книги |
|
13 |
Gb. php |
Модуль гостевой книги |
|
14 |
Input. php |
Страница ввода новых дисциплин и вопросов. Доступна только администратору |
|
15 |
InternetTechnology. php |
Главная страница модуля Интернет технологии |
|
16 |
LeftAdmin. php |
Левая часть страницы администрирования |
|
17 |
Login. php |
Модуль входа в систему по Нику и паролю |
|
18 |
Postmodule. php |
Модуль, использующийся в гостевой книге и чате для посылки сообщений |
|
19 |
RegisterUser. php |
Модуль первоначальной регистрации |
|
20 |
Rtf1. php |
Модуль производящий сертификат |
|
21 |
Rtfs. php |
Модуль производящий список студентов прошедших тестирование |
|
22 |
Score. php |
Станица результатов тестирования |
|
23 |
StartSession. php |
Модуль обработки результатов регистрации |
|
24 |
Store. php |
Модуль записи вопросов тестирования |
|
25 |
Students. php |
Страница результатов тестирования. Доступна только администратору |
|
26 |
Shop. php |
Модуль интернет - магазина |
|
27 |
Shopping. php |
Модуль регистрации заказчика |
|
28 |
Rtfshop. php |
Модуль печати заказов в Word |
|
29 |
Admshop. php |
Администрирование интернет - магазина |
|
30 |
Funcshop. php |
Функции интернет - магазина |
|
31 |
Styles. css |
Подключаемый модуль таблицы стилей |
2.7.3 Вход в систему MySQL
Для входа в систему MySQL в интерфейс командной строки на своей машине и наберите следующее:
> mysql. exe - h localhost - u root
Командная подсказка может выглядеть по-разному, в зависимости от используемых операционной системы и командной оболочки.
Команда mysql запускает монитор MySQL. Это клиент командной строки, который выполняет соединение с сервером MySQL.
Ключ - h используется для обозначения хоста, к которому осуществляется подключение - это компьютер с запущенным сервером MySQL. При вводе этой команды на той же машине, на которой находится сервер MySQL, применять этот ключ, равно как и параметр hostname, вовсе не обязательно. Если на другой, то параметр hostname следует заменить именем машины, на которой выполняется сервер MySQL.
Ключ - u используется для указания имени пользователя, под которым требуется осуществить соединение.
(Если этого не произошло, убедитесь в том, что MySQL-сервер запущен и где-то в. вашем пути присутствует команда mysql) Необходимо ввести пароль.
2.7.4 Создание таблиц базы данных
Система баз данных MySQL может поддерживать множество различных баз данных. Обычно на одно приложение будет существовать одна база данных.
Для создания базы данных (itn) используют подключаемый файл “create_itn. sql”. Для этого нужно ввести команду:
Mysql>\. create_itn. sql f: \create_itn. sql
как показано на рисунке 2.14
Рисунок 2.14 - создание таблиц с помощью sql-файла
где f: \create_itn. sql - имя и путь к файлу.
Текст файла - “create_itn. sql “ приведен ниже.
create database itn; // Создать базу данных под названием “itn”
use itn; // использовать базу данных ”itn”
create table chatmessages // Создать таблицу “chatmessages”
( // Сообщения чата
idchmes int unsigned not null auto_increment primary key,
idstudc int not null, // id студента
message char(150) not null, // сообщение чата
ip char(15), // IP - адрес
time datetime not null // дата записи сообщения
);
create table guests // Создать таблицу “guests”
( // гостевая книга
idguest int unsigned not null auto_increment primary key,
idstudg int not null, // id студента
message char(150) not null, // сообщение
ip char(15), // IP - адрес
page char(30) not null, // страница гостевой книги
time datetime not null // дата записи
);
create table subjects // Создать таблицу “subjects”
( // Предметы для тестирования
idsub int unsigned not null auto_increment primary key,
subject char(30) not null // предмет
);
create table questions // Создать таблицу “questions”
( // вопросы для тестирования
idques int unsigned not null auto_increment primary key,
idsubq int not null, // родительский предмет
quesmes char(150) not null // вопрос
);
create table answers // Создать таблицу “answers”
( // ответы для тестирования
idans int unsigned not null auto_increment primary key,
parent int not null, // id - вопроса
ansmes char(150) not null, // ответ
rightanswer int default 0 not null // правильный ответ = 1
);
create table students // Создать таблицу “students”
( // Студенты прошедшие тест
idstud int not null primary key, // шифр
name char(20) not null, // имя
secondname char(20) not null, // фамилия
faculty char(20) not null, // факультет
email char(20) not null, // e-mail
login char(20) not null, // login входа в систему
password char(20) not null, // пароль
lastdate datetime not null // Дата последнего входа в систему
};
create table results
{
idres int not null auto_increment primary key,
idstudr int not null, // id - студента
idsubr int not null, // id - предмета
posted datetime not null, // дата сдачи
score int not null, // результат
count tinyint(4) not null, // IP - количество попыток
);
create table ips // Создать таблицу “ips”
( // запрещенных IP - адресов
idip int unsigned not null auto_increment primary key,
ip char(15) not null, // IP - адрес
sub char(20) not null // станица(гостевая книга или чат)
);
create table bals // Создать таблицу “bals”
( // баллы для тестирования
bal int not null, // бал
percent int not null // проценты
);
create table cd
(
idc int unsigned not null auto_increment primary key,
title char(50) not null,
description char(150),
price float not null
);
create table zakaz
(
idz int unsigned not null auto_increment primary key,
idclienta int not null,
idcd int not null,
count tinyint default 0 not null,
recdate datetime not null,
flag_done enum('y', 'n') DEFAULT 'n' NOT NULL
);
create table shopclients
(
idclient int unsigned not null auto_increment primary key,
name char(10) not null,
sname char(15) not null,
email char(30) not null,
address text not null,
fhone char(15),
lastdate datetime not null
);
grant select, insert, update, delete // определение прав пользователя
on itn. *
to itn@localhost identified by 'password';
Таблица 2.14 - Используемые типы данных
№ п/п |
Тип данных |
Описание |
|
1 |
int |
Целое число. В MySQL тип данных int может быть со знаком или без знака |
|
2 |
tinyint |
Очень маленькие целые числа |
|
3 |
char(длина) |
Символьная величина фиксированной длины. Поля типа char не могут содержать строки длины большей, чем указанное значение. Поля меньшей длины дополняются пробелами |
|
4 |
date |
Стандартное значение даты. Формат хранения даты по умолчанию `yyyy-mm-dd' |
|
5 |
text |
Символьная величина переменной длины |
|
6 |
enum(`знач1', …, `значN') |
Перечисляемый тип |
Что означают другие ключевые слова
NOT NULL означает, что все строки таблицы должны иметь значение в этом атрибуте. Если NOT NULL не указано, поле может быть пустым (NULL).
AUTO_INCREMENT - специальная возможность MySQL, которую можно задействовать в числовых столбцах. Если при вставке строк в таблицу оставлять такое поле пустым, MySQL автоматически генерирует уникальное значение идентификатора. Это значение будет на единицу больше максимального значения, уже существующего в столбце. В каждой таблице может быть не больше одного такого поля. Столбцы с AUTO_INCREMENT должны быть проиндексированными.
PRIMARY KEY после имени столбца определяет, что этот столбец является первичным ключом для таблицы. Данные в этом столбце должны быть уникальными. MySQL автоматически индексирует этот столбец. Автоматический индекс по первичному ключу сберегает индекс, требуемый AUTO_NCREMENT.
Указывать PRIMARY KEY после названия столбца следует лишь тогда, когда мы имеем дело с первичным ключом в виде одиночного столбца. Альтернативным вариантом является конструкция PRIMARY KEY в конце описания таблицы order_items. В последнем случае первичный ключ включает два столбца.
UNSIGNED после целочисленного типа означает, что его значение может быть либо положительным, либо нулевым.
На рисунке 2.15 показан результат обработки подключаемого файла SQL.
Рисунок 2.15 - создание таблиц после обработки файла SQL
Для просмотра созданных таблиц в базе данных нужно ввести команду SHOW TABLES (рисунок 2.16):
Mysql>Show tables;
Рисунок 2.16 - просмотр созданных таблиц
Команда DESCRIBE дает возможность увидеть дополнительную информацию по конкретной таблице (рисунок 2.17)
Рисунок 2.17 - просмотр типов полей таблицы
Эти команды полезны, если требуется вспомнить, какие типы столбцов используются.
2.7.5 Формирование страниц веб-сайта
Рассмотрим создание страниц приложения на примере главной страницы модуля сайта "Интернет технологии". Скелет страницы состоит из заголовочной части, таблицы из двух столбцов, в левой части которой располагается форма регистрации и кнопка входа на страницу тестирования и кнопка входа в чат, в правой отображается основное содержимое страницы, гостевой книги, находящейся сразу под основной таблицей и нижней части со ссылкой на страницу входа в администрирования. (Рисунок 2.18)
Заголовочная часть |
|
Часть кнопок навигации по дисциплинам |
|
Часть с формой входа в систему и кнопками входа в тестирование и входа в чат.Основная часть |
|
Часть гостевой книги |
|
Нижняя часть |
Рисунок 2.18 - скелет главной страницы
Все скрипты PHP заключаются в скобки <? и? >. Язык позволяет формировать страницы из нескольких отдельных составляющих. Для этого используются функции include и require. Например, скрипт
<? include "all. php"? >
Делает доступными для страницы все функции подключенные в этом файле.
<? doheader(`Интернет технологии);? >
Включает в страницу функцию doheader(), отображающую заголовочную часть с логотипом и названием сайта. (Рисунок 2. 19)
Рисунок 2. 19 - заголовочная часть
Следующая часть кода выводит кнопки навигации по дисциплинам, отображенным на рисунке 2. 20:
<? do_buttons()? >
function do_buttons() // Кнопки
{
? >
<center><table width="100%" cellpspacing=6>
<td class="bor" align="center" width="25%">
<a href="InternetTechnology. php? mode=enter">
<font size="4" сolor="#0000FF">Введение</font></a></td>
<td class="bor" align="center" width="25%">
<a href="InternetTechnology. php? mode=lections">
<font size="4" color="#0000FF">Лекции</font></a></td>
<td class="bor" align="center" width="25%">
<a href="InternetTechnology. php? mode=labs">
<font size="4" color="#0000FF">Лабораторные работы</font></a></td>
<td class="bor" align="center" width="25%">
<a href="InternetTechnology. php? mode=ind">
<font size="4" color="#0000FF">Контрольные работы</font></a></td>
</table></center>
<?
}, где MODE указывает основной части таблицы на то, что должно выводиться.
Рисунок 2.20 - кнопки навигации по дисциплинам
Затем в левой части таблицы выводится форма регистрации и кнопки тестирования и чата. (Рисунок 2.21)
<?
echo"<form action=login. php method=post>";
echo"<br><table width=155 bgcolor=$color1 border=2 bordercolor=darkblue cellpadding=3><tr><td><font color=blue><b>Войти в систему</b></font><hr color=#ff9900>
Ник<br><input type=text name=login><br>
Пароль</font><br><input type=password name=password><br><input type=submit name=submit value='Вход'><br>
<a href=InternetTechnology. php?
mode=register>Регистрация</a></td></tr></table>";
echo "</form>";
echo"<br><table width=155 bgcolor=blue border=2
bordercolor=darkblue><tr><td align=center><a href=exam. php><font color=white size=+1>Тестирование</font></a></td></tr></table>";
echo"<br><table width=155 bgcolor=blue border=2 bordercolor=darkblue><tr><td align=center><a href=chat. php><font color=white size=+1>Общение</font></a></td></tr></table><br>"
? >
Рисунок 2.21 - левая часть страницы с формой входа и кнопками
Здесь echo"<form action=login. php method=post>"; означает что данные формы входа будут посланы модулю проверки данных login. php. Метод POST отличается от метода GET тем, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION.
Далее в правой части выводится основная часть страницы, выбранная пользователем с помощью кнопок навигации. (С помощью переменной MODE).
switch($mode)
{
case 'register': // подключить модуль регистрации
include('register_user. php');
break;
case 'enter': // Модуль введения
$pagegb='Интернет_технологии'; // Эта переменная указывает гостевой книге // индентификатор страницы.
include('InternetTechnology\enter. php');
break;
case 'lections': // Подключить модуль лекции
$pagegb='Лекции';
include('InternetTechnology\lections. php');
break;
case 'labs':
$pagegb='Лабораторные_работы'; // Подключить модуль Лабораторные работы
include('InternetTechnology\labs. php');
break;
case 'ind': //// Подключить модуль контрольные работы
$pagegb='Индивидуальные_задания';
include('InternetTechnology\ind. php');
break;
default:
include('InternetTechnology\enter. php'); // по умолчанию подключить модуль введение
break;
}
Модули, подключаемые в этой части имеют вид:
<?
Текстовый материал с использованием тегов логического и физического форматирования текста.
? >
Затем, ниже основной таблицы, выводится гостевая книга, относящаяся к данной странице. (Рисунок 2.22)
<? include('gb. php');? >
Просто подключается модуль гостевой книги 'gb. php', который в свою очередь включает модуль посылки сообщений: `postmodule. php', который также используется на странице чата.
Рисунок 2.22 - модуль гостевой книги
Ниже вызовом функции doout(), выводится нижняя часть изображения со ссылкой на страницу входа в администрирование. (Рисунок 2.23)
Рисунок 2.23 - нижняя часть страницы
Общий вид главной страницы модуля сайта по дисциплине "Интернет технологии" со значением переменной MODE равной lections (Лекции) приводится на рисунке 2.24.
Рисунок 2.24 - страница лекции
2.7.6 Использование переменных сеанса
HTTP иногда называют "протоколом без состояния". Это означает, что данный протокол не имеет встроенного способа поддержки состояния между двумя транзакциями. Когда пользователь запрашивает друг за другом две страницы, HTTP не обеспечивает возможности уведомить, что оба запроса исходят от одного и того же пользователя.
Таким образом, идея управления сеансами заключается в обеспечении отслеживания пользователя в течение одного сеанса связи с Web-сайтом.
Если это удастся осуществить, мы сможем легко поддерживать подключение пользователя и предоставление ему содержимого сайта в соответствии с его уровнем прав доступа или персональными настройками. Мы сумеем отслеживать поведение пользователя.
Для запуска сеанса в РНР используется уникальный идентификатор сеанса, представляющий собой зашифрованное случайное число. Идентификатор сеанса генерируется РНР и сохраняется на стороне клиента в течение всего времени жизни сеанса. Для хранения идентификатора сеанса используется либо cookie-набор на компьютере пользователя, либо URL.
Идентификатор сеанса играет роль ключа, обеспечивающего возможность регистрации некоторых специфических переменных в качестве так называемых переменных сеанса. Содержимое этих переменных сохраняется на сервере. Единственной информацией, "видимой" на стороне клиента, является идентификатор сеанса. Если во время определенного подключения к вашему сайту идентификатор сеанса является "видимым" либо в cookie-наборе, либо в URL, имеется возможность получить доступ к переменным сеанса, которые сохранены на сервере для данного сеанса. По умолчанию переменные сеанса хранятся в двумерных файлах на сервере (при желании способ хранения можно изменить и использовать вместо двумерного файла базу данных, но для этого потребуется написать собственную функцию).
Скорее всего, придется иметь дело с Web-сайтами, на которых для хранения идентификатора сеанса используется URL. Если в вашем URL имеется строка данных, которые выглядят случайными, то это, скорее всего, свидетельствует об использовании одной из двух описанных здесь разновидностей управления сеансом.
Другим решением проблемы сохранения состояния на протяжении некоторого количества транзакций, при наличии чистого внешнего вида URL, являются cookie-наборы.
2.7.6.1 Использование cookie - наборов в сеансе
При использовании cookie-наборов возникают некоторые проблемы: есть браузеры, которые не принимают cookie-наборы, а есть пользователи, которые запрещают использование cookie-наборов в своих браузерах. Это одна из причин, по которым в сеансах РНР используются двойной метод cookie-набор/адрес URL (ниже этот вопрос рассматривается более подробно).
В сеансе РНР нет необходимости задавать cookie-наборы вручную. Это за вас сделают функции сеанса.
Для того чтобы просмотреть содержимое cookie-набора, установленное при управлении сеансом, можно воспользоваться функцией session_get_cookie_params(). Она возвращает ассоциативный массив, содержащий элементы lifetime, path и domain.
Можно использовать также:
session_set_cookie_params($lifetime, $path, $domain);
этот оператор устанавливает параметры cookie-набора для сеанса.
2.7.6.2 Реализация управления простым сеансом
Основными этапами использования сеанса являются следующие: Запуск сеанса;
Регистрация переменных сеанса;
Использование переменных сеанса;
Отмена регистрации переменных и закрытие сеанса.
Заметим, что все перечисленные этапы не обязательно могут содержаться в одном сценарии, и некоторые из них могут находиться в нескольких сценариях. Рассмотрим каждый из этих этапов последовательно.
2.7.6.3 Запуск сеанса
Прежде чем можно будет воспользоваться функциональными возможностями сеанса, следует запустить сам сеанс. Существует три способа сделать это.
Первый (и самый простой) заключается в том, что сценарий начинается с вызова функции session_start().
Эта функция проверяет, существует ли идентификатор текущего сеанса. Если нет, она его создает. Если же идентификатор текущего сеанса уже существует, она загружает зарегистрированные переменные сеанса, чтобы они стали доступными для использования.
Надо отметить, что это прекрасный способ - вызов session_start() в начале сценариев, в которых используются сеансы.
Второй способ заключается в том, что сеанс запускается при попытке зарегистрировать переменные сеанса.
Третий способ запустить сеанс - задать установки РНР, при которых сеанс будет запускаться автоматически, как только кто-либо посетит ваш сайт.д.ля этого следует воспользоваться опцией session. auto_start в файле php. ini.
2.7.6.4 Регистрация переменных сеанса
Для того чтобы получить возможность отслеживать переменные от одного сценария к другому, их необходимо зарегистрировать. Это делается путем вызова функции session_register().
Данный оператор регистрирует имя переменной и отслеживает ее значение. Отслеживание переменной будет осуществляться, пока не завершится сеанс либо пока вручную не отменится ее регистрация.
If(! session_id()) session_start();
If(! isset($_session [`error_fill'] $_session [`error_fill'] [`bool'] =falle
Здесь регистрируется переменная сеанса “error fill”, используемая для отображения ошибки заполнения полей регистрации студента.
2.7.6.5 Использование переменных сеанса
Чтобы сделать переменную сеанса доступной для использования, сначала необходимо запустить сеанс, воспользовавшись одним из описанных выше способов.
После этого появляется доступ к этой переменной. Если опция register_globals включена, то доступ к этой переменной можно получить через сокращенную форму ее имени, например, $error_fill. Если же упомянутая опция не включена, получить доступ к переменной можно через ассоциативный массив $ _SESSION, например, $ _SESSION ["error_fill"].
Переменные сеанса не могут быть перезаписаны данными GET или POST. Это хорошо с точки зрения обеспечения безопасности, однако сопряжено с некоторыми ограничениями при кодировании.
С другой стороны, от вас потребуется тщательность при проверке на предмет того, установлены ли уже переменные сеанса (например, с использованием isset() либо empty()). Кроме того, следует иметь в виду, что переменные могут быть установлены пользователем через GET или POST. Проверить, является ли переменная зарегистрированной переменной сеанса, можно обратившись к функции $_session (). Вызов функции выполняется следующим образом:
$_session [`error_fill']
Следующая функция проверит правильность написания электронного адреса и вернет, $_session [`error_fill'] [bool'] =true, если адрес написан неправильно.
If(! ereg(^. +@. +\\. +$,$email))
{
$session [`error_fill'] [bool'] =true;
$_session [`error_fill'] [`message'] =”Проверьте правильность написания электронного адреса”;
}
Если переменная $_session [`student'] существует то ей присваиваются текущие значения. Здесь переменной присваиваются значения регистрации студента.
$_SESSION ['student'] ['name'] =$name; $_SESSION ['student'] ['family'] =$family;
$_SESSION ['student'] ['group'] =$group; $_SESSION ['student'] ['faculty'] =$faculty;
$_SESSION ['student'] ['email'] =$email; $_SESSION ['student'] ['login'] =$login;
2.7.6.6 Отмена регистрации переменных и завершение сеанса
После окончания работы с переменной сеанса ее регистрацию можно отменить, воспользовавшись функцией session_unregister():
$_session_unregister(`error_fill')
Подобно функции регистрации, эта функция требует указания имени переменной, регистрацию которой необходимо отменить, в виде строки, не включающей символ $. Данная функция за один раз может отменить регистрацию только одной переменной сеанса (в противоположность session_register()). Однако, для отмены регистрации всех переменных текущего сеанса можно обратиться к session_unset().
По завершении сеанса сначала потребуется отменить регистрацию всех переменных, а затем вызвать
Session_destroy()
для обнуления идентификатора сеанса.
2.7.6.7 Использование переменных сеанса в приложении
При запуске приложения создаются 2 переменные сеанса: $_SESSION [`mode'], отвечающая за страницу приложения и $_SESSION [`error_fill'], отвечающая за правильность заполнения полей регистрации студентом.
if(! session_id()) session_start();
if(! isset($_SESSION ['error_fill'])) $_SESSION ['error_fill'] ['bool'] ='false';
if(isset($_REQUEST ['mode']))
{
$mode=$_REQUEST ['mode'] ;
$_SESSION ['mode'] =$mode;
}
else $mode=isset($_SESSION ['mode'])? $_SESSION ['mode']: '';
При посещении магазина создается еще одна переменная сеанса - $_SESION [`client'].
$_SESSION ['client'] =isset($_SESSION ['client'])? $_SESSION ['client']: '';
if($_SESSION ['client'] =='')
{
if(isset($_SESSION ['student']))
{
$_SESSION ['client'] ['name'] =$_SESSION ['student'] ['name'] ;
$_SESSION ['client'] ['sname'] =$_SESSION ['student'] ['family'] ;
$_SESSION ['client'] ['email'] =$_SESSION ['student'] ['email'] ;
$_SESSION ['client'] ['fhone'] ='';
$_SESSION ['client'] ['address'] ='';
}else
{
$_SESSION ['client'] ['name'] ='';
$_SESSION ['client'] ['sname'] ='';
$_SESSION ['client'] ['fhone'] ='';
$_SESSION ['client'] ['email'] ='';
$_SESSION ['client'] ['address'] ='';
}
Здесь сначала проверяется наличие переменной сеанса $_SESSION [`student'], и если она зарегистрирована, совпадающим полям переменной $_SESION [`client'] присваиваются соответствующие поля переменной $_SESSION [`student'], иначе поля обнуляются.
2.8 Запуск веб-сайта и описание работы с ним
Для запуска веб-сайта необходимо запустить Интернет-браузер и набрать в строке адреса в локальном режиме http://localhost/kashtan/InternetTechnology. php. Откроется главная страница приложения (Рисунок 2.25). Пользователь получает возможность навигации по материалам сайта, регистрации (для незарегистрированных пользователей) или входа в систему (для зарегистрированных пользователей) и дистанционного обучения.
С левой стороны расположены поля для входа в систему, ссылка на форму регистрации и кнопки тестирования и чата.
2.8.1 Навигация по сайту
Навигация по сайту организована средствами кнопок, расположенных в верхней части страницы.
Рисунок 2.25 - кнопки навигации по дисциплинам
Страницы: лекции, лабораторные работы, контрольные работы в свою очередь содержат ссылки на страницы с конкретными заданиями. Например страница лекций отображена в предыдущей подглаве на рисунке 2.24.
2.8.2 Форма регистрации студента
Для того чтобы получить доступ к обучению на сайте необходимо зарегистрироваться в системе. Переход на страницу регистрации осуществляется щелчком по ссылке "Регистрация" в левой части страницы. Открывается форма регистрации (рисунок 2.26). Пользователь должен заполнить все поля формы и нажать на кнопку "Регистрация". Программа проверяет наличие введенного Ника в базе данных. (Ник должен быть уникальным). При успешной проверке происходит регистрация и данные из формы записываются в базу данных.
Рисунок 2.26 - форма регистрации
Теперь пользователь может войти в систему, просто осуществив ввод Ника и пароля в левой части формы.
2.8.3 Чат и гостевая книга
Зарегистрированные пользователи могут оставлять сообщения в гостевой книге и чате. (Рисунки 2.27 и 2.28) Для входа в чат нужно воспользоваться кнопкой входа изображенной на рисунке 2.21. В гостевой книге можно оставить свои вопросы преподавателю, отзывы и предложения. В чате можно завязать беседу по интересующей вас теме.
Рисунок 2.27 - гостевая книга
Рисунок 2.28 - Чат
В гостевой книге и чате использован один и тот же модуль отправки сообщений отображенный на рисунке 2.29. В конце этих страниц пишем: include ”postmodule. php”.
Рисунок 2.29 - модуль отправки сообщений
2.8.4 Страница тестирования
Также зарегистрированный пользователь может зайти на страницу тестирования (Рисунок 2.30), нажав на кнопку "Тестирование" в левой части страницы. (Рисунок 2.21) В открывшемся окне пользователь может выбрать дисциплину для тестирования. При наведении указатель на ссылку дисциплины, появляется подсказка, в которой отображается количество оставшихся попыток. Всего пользователь имеет по две попытки для каждой из дисциплин.
Рисунок 2.30 - страница тестирования
При выборе дисциплины в окне выводятся вопросы по данной теме и случайным образом расположенные ответы (Рисунок 2.31).
Рисунок 2.31 - страница тестирования
Нужно выбрать правильные ответы и нажать на кнопку "Готово". В появившемся окне (Рисунок 2.32) отображаются результаты тестирования. Есть возможность распечатать сертификат в формате RTF, подтверждающий результаты тестирования.
Рисунок 2.32 - результаты тестирования
2.8.5 Интернет магазин
В закладке "Магазин" предоставленный на страницах сайта материал можно заказать на CD-носителе. Он будет доставлен Вам по почте. Для входа в интернет магазин нужно воспользоваться кнопкой "Магазин" отображенной на рисунке 2.21. Откроется окно с информацией о дисках по дисциплинам, доступных к заказу. (Рисунок 2.33)
Рисунок 2.33 - интернет магазин
Для заказа диска с интересующей информацией нужно нажать на ссылку с названием диска. Откроется окно регистрации заказа (Рисунок 2.34), в котором нужно заполнить все поля и нажать кнопку "Заказать".
Рисунок 2.34 - регистрация заказа
В появившемся окне будут представлены данные регистрации заказа, количество заказанных дисков и сумма оплаты. После проверки всех данных нужно подтвердить заказ нажав на ссылку "Заказать", после чего программа подтвердит регистрацию заказа. (Рисунок 2.35)
Рисунок 2.35 - подтверждение заказа
Одновременно произойдет отправка по электронной почте с уведомление о поступлении заказа администратору сайта.
$mess=$_SESSION ['client'] ['name']. " ". $_SESSION ['client'] ['sname']. " заказал(а)". $_SESSION ['client'] ['count']. " ". $idz ['title']. " на сумму: ". $_SESSION ['client'] ['count'] *$idz ['price']. "р. Заказ нужно доставить по адресу: ". $_SESSION ['client'] ['address']. ". Адрес электронной почты: ". $_SESSION ['client'] ['email']. ". ";
if(! mail('kash@newmsk. tula. net', 'Поступил заказ', $mess, "Content-type: text/plain; charset=windows-1251", "Content-Transfer-Encoding: 8bit")) echo"Невозможно соединиться с почтовым сервером! ";
Где "Content-type: text/plain; charset=windows-1251", "Content-Transfer-Encoding: 8bit" - заголовки определяющие кодировку сообщения. (Рисунок 2.36).
Рисунок 2.36 - Результат обработки функции mail
2.8.6 Система администрирования
Чтобы зайти на страницу администрирования нужно в нижней части главной страницы нажать на ссылку "Администрирование модуля - Интернет технологии". (Рисунок 2.37)
Рисунок 2.37 - ссылка на страницу администрирования
В открывшемся окне в полях ввода нужно ввести имя и пароль администратора. (Рисунок 2.38). По умолчания это "alex" и "2202".
Рисунок 2.38 - доступ к странице администрирования
Откроется главная страница администратора (Рисунок 2.39)
Рисунок 2.39 - главная страница администратора
На этой странице есть ссылки на страницы:
"Экзаменатор" (Рисунок 2.40), где можно удалить отдельные вопросы по какому либо предмету или удалить весь предмет;
Рисунок 2.40 - страница администратора "Экзаменатор"
"Ввод новых вопросов" (Рисунок 2.41), где можно ввести новые вопросы по существующим предметам или создать новый предмет;
Рисунок 2.41 - Ввод новых вопросов
"Студенты" (Рисунок 2.42), где можно просмотреть результаты тестирования по одному студенту, по одному предмету или весь список, а также удалить некоторые записи;
Рисунок 2.42 - просмотр результатов по одному студенту
"Гостевая книга" (Рисунки 2.43, 2.44), где можно просмотреть, ввести, удалить запрещенные для записи адреса, а также удалить некоторые записи сообщений;
Рисунок 2.43 - просмотр записей гостевой книги
Рисунок 2.44 - блок запрещенных адресов гостевой книги
"Чат" (Рисунок 2.45, 2.46), где можно просмотреть, ввести, удалить запрещенные адреса, а также удалить некоторые записи сообщений.
Рисунок 2.45 - запрещенные адреса чата
Рисунок 2.46 - блок сообщений чата
"Магазин" (Рисунки 2.47, 2.49, 2.50, 2.51), - где можно просмотреть, ввести, удалить новые товары. Просмотреть, удалить заказчиков, а также просматривать поступившие заказы. При нажатии на ссылку с именем заказчика, данные заказа экспортируются в MS Word. (Рисунок 2.48). При нажатии на ссылку "Выполнен", происходит смена статуса выполнения заказа на положительный, и отправка сообщения о выполнении заказа на электронный адрес заказчика.
Рисунок 2.47 - страница заказов интернет - магазина
Рисунок 2.48 - данные заказа в MS Word
Рисунок 2.49 - Ввод новых товаров
Рисунок 2.50 - просмотр существующих товаров
Рисунок 2.51 - заказчики интернет-магазина
3. Экономическая часть
3.1 Определение трудоемкости разработки приложения
Для определения трудоемкости разработки АИС (автоматизированной информационной системы) прежде всего составляется перечень всех основных этапов работ, которые должны быть выполнены [15]. Форма разделения работ по этапам с указанием трудоемкости их выполнения приведена в таблице 3.1
Подобные документы
Особенности создания сайта интернет-магазина для частных лиц и организаций. Анализ финансовой и технико-экономической деятельности фирмы. Создание информационной модели сайта, ее базовые элементы. Выбор программного и аппаратного обеспечения сайта.
дипломная работа [1,5 M], добавлен 08.12.2013Преимущества применения информационных технологий в образовании. Системы дистанционного образования. Организационная схема обучения дисциплине "Финансы и кредит". Расчет трудоемкости, длительности и себестоимости разработки информационной системы.
дипломная работа [5,6 M], добавлен 30.08.2010Языки написания сайта, принципы и обоснование их отбора. Программы создания web-страниц, их функциональные особенности и возможности. Технология и основные этапы разработки интернет-сайта, правила его составления, оформления, заполнения, программный код.
курсовая работа [3,1 M], добавлен 20.05.2015Создание электронного учебника в программе Adobe Dreamweaver 9 CS4 и текстовом редакторе Notepad по дисциплине "Информационная безопасность". Разработка индивидуального дизайна учебника, его верстка. Описание работы сайта. Затраты на его рекламу.
дипломная работа [2,2 M], добавлен 07.07.2012Место дистанционного обучения в системе образования. Методологические аспекты. Общие положения системы дистанционного образования. Требования к каналам связи при организации системы дистанционного образования. Выбор систем видеоконференций.
курсовая работа [37,5 K], добавлен 06.10.2006Ознакомление с современными Интернет-технологиями и использование их в своей разработке. Изучение основных программ, применяемых для разработки и создания Web-сайта. Инструментальные средства. Информационная структура, дизайн и шаблон web-сайта.
контрольная работа [1,0 M], добавлен 15.02.2017Общая характеристика дистанционного образования. Описание приложений и ресурсов, с помощью которых осуществляется дистанционное обучение. Правила размещения курсов в СДО "Moodle". Разработка структуры курса "Правовые основы прикладной информатики".
курсовая работа [1,8 M], добавлен 20.12.2015Понятие сайта как Интернет-ресурса. Специфические особенности сайтов учебных заведений. Видимость сайта в поисковых выдачах. Анализ сайта учебного заведения на примере сайта Тираспольского межрегионального университета. Составляющие (рубрики) сайта.
курсовая работа [403,8 K], добавлен 27.04.2013Последовательность разработки информационного обеспечения очного и дистанционного обучения через просмотры и прослушивание подкастов. Создание веб-сайта или модуля существующей системы. Описание интерфейсов системы. Настройка прав доступа к подкастам.
дипломная работа [2,3 M], добавлен 19.11.2010Методы и технологии создания виртуальных магазинов. Программные средства для создания сайта. Разработка php-модуля. Технические возможности СУБД MySQL. Приложения для создания графики и дизайна. Логическая структура сайта. Разработка базы данных.
курсовая работа [248,1 K], добавлен 24.04.2012