Разработка и сопровождение информационной системы социальной помощи населению
Введение
Целью курсового проекта является разработка и
сопровождение информационной системы социальной помощи населению. Целью
информационной системы ― является
информационная поддержка посетителей, в частности получение необходимой
информации.
При разработке информационной системы необходимо
определить требования и спецификации, выработать его структуру и вид навигации
по разделам.
Для достижения поставленной цели необходимо
выполнить следующие задачи:
- определить понятие «информационной
системы (ИС)»;
- изучить особенности и этапы
построения «информационной системы»;
- спроектировать структуру и дизайн
информационной системы;
- выбрать инструментарий для создания
информационной системы и реализовать в нём поставленную цель;
Актуальность ИС состоит в том, что:
- в нем предполагается собрать
информацию о социальной помощи населению, необходимых документов для постановки
на учет и информации услуг предоставляемых организацией;
- информирование населения, и легкий
доступ к информации;
- легкий доступ к информации позволит,
экономить время людей и получать информацию, не выходя из дома.
Данная ИС несёт следующие функции:
- получение информации о услугах
предоставляемых организацией не посещая офис организации;
- Получение необходимых документов не
посещая офис организации.
1. Анализ технического задания и возможные
способы реализации поставленной задачи
.1 Постановка задачи
Целью курсовой работы является разработка и
сопровождение информационной системы социальной помощи населению.
Информационная система должна осуществлять информирование граждан о услугах,
предоставляемых организацией и информации о организации.
Информационная система дает пользователю
возможность легкого доступа к информации без посещения офиса организации.
Среди достоинств ИС следует выделить:
- Доступность информации через сети
«Интернет»;
- интуитивно понятный интерфейс;
- предоставляет возможность для
скачивания необходимых документов необходимых для постановки на учет.
Эффективность формы представления информации
включает в себя следующие требования: простота и удобство применения,
эргономичность.
2. Выбор программных и аппаратных средств для
реализации поставленной задачи
Проанализировав различные программные средства
создания информационных систем, их характеристики, степень функциональности и
доступности, было проведено исследование следующих программных средств:
текстовый редакторблокнот (Notepad), HomeSite 4.5, UltraEdit-32, Macromedia
Flash, Macromedia Dreamweaver.
На основании полученных сравнительных оценок,
был сделан выбор в пользу программного продукта «Adobe
Dreamweaver
CC».
Причины выбора программы Dreamweaver:
. Dreamweaver
- это программа для создания веб-сайтов. Основная функциональность программы
сосредоточена на создании HTML и CSS кода, а также работе с файлами сайта.
Визуальный интерфейс программы позволяет работать с этими элементами быстро и
интуитивно понятно. Можно наглядно видеть результат написанного кода.
. Подсветка кода
Эта функция помогает быстро просканировать код,
а также найти возможные ошибки. Каждый тип кода имеет различную подсветку, что
позволит наглядно отличать HTML, CSS, PHP, Javascript и др.
Это очень удобно, когда веб-страница
представляет собой сочетание html и динамических языков, таких как например PHP
или ASP.
Для начинающих веб-разработчиков подсветка кода
помогает лучше понять каждый элемент кода, а также помогает выявить возможные
ошибки.
. Автоподстановка кода
Функция, позволяющая экономить время - это
автоматическое дописывание кода. Когда начинается писание какого-нибудь
html-тега, открывается список возможных вариантов на основе введенных первых
букв. Разработчику остается лишь выбрать подходящий вариант. Причем это удобно
не только для написания самих тегов, но и для их атрибутов.
. Режим кода и режим дизайна
Позволяет увидеть, что получается в результате
написания того или иного кода, поэтому функция визуального отображения очень
полезна. В Dreamweaver
есть возможность быстрого переключения режима кода и режима дизайна.
Например, когда размещается блоки div, создавая
каркас сайта, разработчику удобнее работать в режиме кода, а когда нужно
добавить на страницы какой-то контент, то в этом случае больше подойдет режим
дизайна.
. Проверка кода
В Dreamweaver
есть отличный инструмент проверки кода, который не позволит ни одному
веб-дизайнеру писать код, не соответствующий стандартам.
Ошибки и проблемы совместимости могут быть
быстро найдены именно во время написания кода, а не после того, как файлы с
кодом уже загружены на сервер и проверены онлайн-валидатором.
.1 Выбор технологии, языка и среды
программирования
На первом этапе создания
информационной системы потребовалось выбрать модель разработки. Из трех
моделей: спиральной, каскадной и итеративной, было решено использовать
итеративную модель разработки, с её преимуществами.
Преимущества итеративной
модели:
- снижение воздействия серьёзных
рисков на ранних стадиях проекта, что ведет к минимизации затрат на их
устранение;
- акцент усилий на наиболее важные и
критичные направления проекта;
- непрерывное итеративное
тестирование, позволяющее оценить успешность всего проекта в целом;
- раннее обнаружение конфликтов между
требованиями, моделями и реализацией проекта;
- более равномерная загрузка
участников проекта;
- эффективное использование
накопленного опыта;
- реальная оценка текущего состояния
проекта и, как следствие, большая уверенность заказчиков и непосредственных
участников в его успешном завершении.
Выбор языка программирования для информационной
системы осуществлялся из языков:
- HTML;
- PHP;
- WAP;
- FLASH;
- PERL.- это один из самых старых
языков web-программирования, появившийся еще на заре развития Интернета, и
зарекомендовавший себя как один из самых простых и надежных способов
web-программирования. HTML расшифровывается как Hyper Text Markup Language -
Язык Разметки Гипертекста. Сайты, созданные по технологии HTML в большинстве
своем являются набором статических страниц, не требующих наличия базы данных.
Технология HTML может подойти для создания
небольших, легких сайтов в несколько страничек, функционал которых не требует
интерактивности и динамики.
Сегодня в среду веб-проектирования входит новый
стандарт, носящий название HTML5. Данная технология очень молодая, но
предоставляет большие возможности в плане создания сайтов, и позволяет
реализовать новый, ранее невозможный, функционал. является серверным языком
программирования и осуществляет связь сайта с сервером и его базой данных.
В сайтах на PHP часть кода, написанная на HTML,
отвечает за внешний вид и вывод информации, а PHP в свою очередь за динамику и
интерактивность функционала. Благодаря своей простоте, гибкости и скорости
выполнения операций, язык PHP является одним из самых популярных стандартов, в
веб-разработке.
В разработке преобладающей части сайтов,
созданных студией HINEX.RU, была использована технология PHP, т.к. связь сайта
с базой данных, по средством PHP кода является неотъемлемым условием, при
создании динамичных, многофункциональных Интернет-ресурсов.(Wireless
Application Protocol) - это технология позволяющая получать доступ к ресурсам
Интернета прямо с мобильного устройства.
Основным отличием WAP-сайта от обычного
Интернет-ресурса, является, то что WAP-сайт “заточен” под просмотр на небольших
дисплеях телефонов и коммуникаторов, в связи с чем к разработке WAP-сайта
предъявляется рад требований и стандартов, направленных на облегчение веса
страницы WAP-портала и оптимизации содержимого сайта именно под просмотр в
WAP-браузере телефона.
Сайты, написанные под WAP имеют свой язык
разметки, адоптированный именно под обмен информацией с WAP-браузером. И если
обычные сайт, предназначенные для просмотра с компьютера в большинстве своем
написаны на языках html, php, то для создания WAP-сайтов используется стандарт
WML (Wireless Markup Language). Помимо всего прочего при разработке
WAP-ресурсов используется свой формат изображений - WBMP, позволяющий
максимально облегчить WAP-страницу.
По сути, сама технология флеш не является языком
web-программирования, но используется для визуализации элементов, написанные на
языке XML.
Создание сайта по технологии flash сложный и
трудоемкий процесс, но результат стоит, затраченных на него сил и средств.
Flash-элементы, позволяют сделать сайт ярким и интерактивным. Живые,
динамические страницы оставят неизгладимое впечатление о вашем ресурсе у
посетителей, и положительный образ о вашем сайте надолго останется в умах
зачарованных пользователей.
Но во всем как говориться нужно, знать меру, и
создание flash-сайтов не исключение. Flash-блоки значительно тяжелее
стандартных web-элементов и поэтому на их подгрузгу требуется больше времени. А
пользователи сети, как правило, ждать не любят.
После анализа и исследования данных языков
программирования, принято решение использования языка программирования PHP,
так как он сочетает в себе все требования для создания данной информационной
системы.
Для создания информационной системы выбрана
среда программирования «Dreamweaver» и написание на языке PHP
c элементами HTML
кода.(PHP: Hypertext Preprocessor) - это распространенный язык программирования
общего назначения с открытым исходным кодом. PHP сконструирован специально для
ведения Web-разработок и его код может внедряться непосредственно в HTML.
Код PHP отделяется специальными начальным и
конечным тегами <?php ?>, которые позволяют "переключаться" в
"PHP-режим" и выходить из него.отличается от JavaScript тем, что
PHP-скрипты выполняются на сервере и генерируют HTML, который посылается
клиенту. Разработчик может настроить свой сервер таким образом, чтобы обычные
HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут
узнать, получают ли они обычный HTML-файл или результат выполнения
скрипта.крайне прост для освоения, но вместе с тем способен удовлетворить
запросы профессиональных программистов.
Хотя PHP, главным образом, предназначен для
работы в среде web-серверов, область его применения не ограничивается только
этим.
.2 Описание среды программирования
Рабочие пространства,
ориентированные на программированиебыл настроен под заданный проектом стиль
работы. Был изменен способ просмотра кода, по-другому настроены сочетания
клавиш и импортированы и использованы библиотеки избранных тегов.
В Dreamweaver имеется несколько
схем рабочего пространства для оптимизации процесса кодирования. С помощью
переключателя рабочих пространств на панели «Приложение» можно переключаться
между пространствами «Разработчик», «Разработчик-плюс», «Кодировщик» и
«Кодировщик-плюс». Во всех этих рабочих пространствах по умолчанию отображается
представление кода (либо во всем окне документа, либо в виде представлений
«Код» и «Дизайн»), а панели прикреплены к левой стороне экрана. Во всех
пространствах кроме пространства «Разработчик-плюс» в представлении по
умолчанию отсутствует инспектор свойств.
Просмотр кода
Есть несколько способов
просмотра исходного кода для текущего документа: можно отобразить его в окне
«Документ», перейдя в представление кода, можно разделить область «Окно
документа» так, чтобы в нем отображались как собственно страница, так и
связанный с ней код. Кроме того, можно работать в инспекторе кодов, отдельном
окне кодирования. Инспектор кода функционирует как окно представления кодов.
Его можно рассматривать как отделяемое окно представления кода для текущего
документа.
Просмотр кода в отдельном окне
с помощью инспектора кода
Инспектор кода дает
пользователю возможность работать в отдельном окне кодирования так же, как он
работает в представлении «Код».
В меню «Окно» выберите пункт
«Инспектор кода». Панель инструментов имеет следующие параметры:
- Управление файлами;
- Помещает или открывает файл;
- Просмотр/Отладка в браузере;
- Позволяет просматривать и отлаживать
документ в браузере.
Обновление представления
«Дизайн»
Обновляет документ в
представлении «Дизайн», чтобы он отражал внесенные в код изменения. Внесенные в
код изменения не отражаются автоматически в представлении «Дизайн» до
выполнения пользователем определенных действий, например, до сохранения файла
или нажатия на эту кнопку.
Открытие файлов в представлении
кода по умолчанию
При открытии файла такого типа,
который не должен содержать код HTML (например, файла JavaScript) этот файл
открывается не в представлении «Дизайн», а в представлении «Код» (или в окне
инспектора кода). Для изменения выбора типов файлов произведены шаги:
- В панели вкладок выбрана вкладка
«Правка»;
- в появившемся меню выбрана строка
«Настройки»;
- в открывшемся окне в списке
категорий слева выбран пункт «Типы файлов и редакторы».
- в поле «Открыть в представлении
кода» добавлены расширение имени файла для типа файлов;
Настройка сочетаний клавиш
В Dreamweaver можно
использовать привычные сочетания клавиш. Для облегчения работы с определенными
сочетаниями клавиш, например, использовать «Shift» + «Ввод» для добавления
разрыва строки или «Ctrl» + «G» для перехода в определенное место кода, эти
сочетания были добавлены в Dreamweaver с помощью редактора сочетаний клавиш.
Редактирование существующего
сочетания клавиш
Для редактирования сочетания
клавиш были произведены следующие действия:
- В панели вкладок
выбрана вкладка «Правка»;
- в появившемся меню
выбрана строка «Сочетания клавиш»;
- из всплывающего
меню «Команды» выбрана требуемая категория;
- в списке «Команды»
выбрана команда, а затем сочетание клавиш, которое требовалось заменить;
- в текстовом поле
«Нажмите клавишу» и введено новое сочетание клавиш;
- задействована
кнопка «Заменить», для замены сочетание клавиш.
3. Описательная часть разработанного
программного продукта
.1 Проектирование интерфейса пользователя
Для пользователя интерфейс - это и есть
приложение. Независимо от того, сколько времени и усилий вы потратили на запись
материала и моделирование, применимость информационной системы зависит от
интерфейса.
Чтобы работа с информационной системы была
удобной, пользователь при взаимодействии с ней должен ощущать комфорт.
В процессе создания информационной системы были
учтены рекомендации специалистов по компьютерным технологиям:
- Интерфейс должен быть интуитивно
понятным. Таким, чтобы пользователю не требовалось объяснять, как им
пользоваться;
- в ИС не должно быть никакой лишней
информации, которая способна отвлечь пользователя от его действий. Нет лишних
баннеров, рубрик, разделов;
- яркость объекта должна лежать в
определенных пределах;
- контрастность изображения
относительно фона должна выбираться с учетом размеров объекта: чем меньше его
размер, тем выше должна быть его контрастность;
- следует учитывать, что наибольшую
чувствительность глаз имеет к излучению желто-зеленого цвета, наименьшую - к
фиолетовому и красному;
- размер символа должен быть
согласован с остротой зрения человека; нужно также учитывать, что он влияет на
скорость и правильность восприятия информации;
- все поле зрения, охватываемое
глазом, можно разбить на три зоны: центрального зрения, где наиболее четко
различаются детали; ясного видения, где можно опознать объект без мелких
деталей; периферического зрения, где предметы обнаруживаются, но не
распознаются.
Необходимо оценить свои финансовые возможности.
При первоначальном планировании работы и
постановки задач требуемых для создания информационной системы были учтены
основные факторы влияющие на оценку работы и пользователей которые будут
работать с созданным проектом.
Исследуемые факторы:
1.1. Технические:
- Скорость приема/передачи информации
(скорость соединения с Интернет);
- характеристики монитора (размер
экрана, разрешающая способность, количество цветов, пр.), качество монитора;
- установка просмотра или отключение
графики при просмотре сайта;
- версия браузера;
- настройки системы безопасности
принимающего компьютера (если компьютер входит, например, в локальную сеть
организации, фирмы) и компьютера посетителя;
- настройки браузера (размер шрифта,
тип шрифта и пр.);
- версия операционной системы,
установленная на компьютере посетителя;
- местоположение принимающего
компьютера (город, страна, континент;
1.2. Социальные:
- Образование посетителя (начальное,
среднее, высшее и пр.);
- должность посетителя (руководитель,
менеджер, бухгалтер и пр.);
- материальное положение посетителя;
- вероисповедание посетителя.
1.3. Психологические:
- Мотивация (задачи, степень
заинтересованности, ожидания): насколько важна для посетителя сайта информация,
представленная на сайте (степень его заинтересованности).
- задачи, которые ставит перед собой
посетитель сайта.
- чего ждет посетитель от сайта.
- личностные особенности (характер,
темперамент, склонности);
- самочувствие посетителя;
- степень усталости посетителя
(уставший, бодрый, сонливый и пр.);
- соответствует или нет информация
сайта, тому ключевому слову, по которому был найден сайт.
1.4. Физиологические:
- Зрение посетителя (носит очки или
нет);
- возраст посетителя;
- пол посетителя (мужчина или
женщина);
1.5. Дополнительные условия:
- Опыт посетителя и знания в области
Интернет;
- в какой раз посещается сайт (первый,
второй, постоянный посетитель) и сколько сайтов просмотрено до этого;
- групповой или личный просмотр (один
посетитель просматривает сайт или нет).
.2 Разработка форм ввода - вывода информации
Формы - специально ограниченные области страницы
сайта, в которых посетителю сайта предлагается внести какую-либо информацию или
выбрать какие-либо определённые действия из ряда предлагаемых. Полями формы
могут быть текстовые поля, переключатели, кнопки, поле для отправки файла и
другие элементы. Выбор этих элементов зависит от того, какие сведения требуется
получить от посетителя сайта.
На форме вывода располагается:
Информация - необходимая для ознакомления с
организацией, методом её работы и списком предоставляемых услуг;
Изображения - элемент визуального восприятия
мира, воспроизведениеграфического,скульптурногопроизведения,специальнойили
художественной фотографии;
Новости - обязательный элемент информирования
посетителей сайта о изменениях или готовящихся мероприятиях.
Интерфейс ввода-вывода
В созданной ИС интерфейсом ввода является панель
навигации, интерфейсом вывода для информации является центральная таблица.
Рисунок 1 - Интерфейс вывода информации
Рисунок 2 - Интерфейс ввода информации
4. Составление программной документации
Программная документация - это неотъемлемый
компонент программного продукта и должен оформляться в соответствии с Единой
системой программной документации (ЕСПД - ГОСТ серии 19). В рамках учебных
работ допускается заключать всю содержательную часть программной документации в
единый "отчёт по программе", при этом формальные требования к
оформлению такого отчёта соответствуют требованиям к отчёту по НИР.
После завершения начального этапа проекта
документацию нужно привести к форме, понятной даже людям, не принимающим
участия в проекте. По мере завершения работы, а иногда и после ее завершения,
начинается длительный процесс проверки и исправлений, называемый отладкой.
Когда система заработает, могут возникнуть ошибки из-за дефектов хранения и
передачи программ, а также более тонкие ошибки, не выявленные на этапе отладки.
Процесс выявления ошибок такого типа и их исправления, а также модификации программ
из-за изменений в аппаратных средствах называется сопровождением программы.
Очень важно, чтобы программа имела полную документацию.
Выпуск программной документации производится для
проведения контроля и отладки программы и для ее сопровождения. В процессе
трансляции программ выпускается технологическая документация - листинг,
содержащий программу на входном языке вместе с комментариями. На листинг
выводятся также указания о выявленных в процессе автоматического контроля
ошибках и ссылки на номера предложений исходного текста.
В программную документацию рабочего проекта
входят: руководство программиста; руководство оператора; эксплуатационная
программа или текст программы; описание контрольного примера.
4.1 Составление эксплуатационной документации к
пользователю
Основная цель руководства пользователя
заключается в обеспечении пользователя необходимой информации для
самостоятельной работы с программой.
Для входа на сайт необходимо:
- Вставив диск в дисковод;
- далее нужно дважды нажать левой
кнопкой мыши по иконке «Мой компьютер», который находится на рабочем столе или
в «Меню пуск»;
Рисунок 3 - Пиктограмма «Мой компьютер»
- затем открыть вставленный диск
«кликнув» левой кнопкой мыши по иконке дисковода с надписью «Сайт соц.
обеспечения»;
- в открывшейся папке необходимо
запустить файл установщик «Denwer3 Base»;
- следуя инструкциям установить
виртуальный сервер;
- затем необходимо запустить сервер с
помощью иконки на рабочем столе;
Рисунок 4 - Пиктограмма «Start Denwer»
- в дальнейшем работа с сайтом будет
осуществляться с помощью браузера. Выберите нужный вам раздел в окне браузера
для начала работы.
Рисунок 5- Главная страница
Меню навигации отображается в левом вертикальном
меню.
Рисунок 6 - Навигация по сайту
- ссылка «Главная», является главной
страницей. Содержит краткую информацию об организации и функциях организации.
Чтобы просмотреть необходимую информацию «щелкните» мышью по ссылке, которая
находится в меню навигации сайта.
.2 Составление эксплуатационной документации к
программисту
Для использования данного проекта потребуются
программные средства:
1. Adobe Dreamweaver CC;
2. Denwer;
. Браузер.
Для редактирования и открытия сайта в Dreamweaver’е
необходимо скопировать папку с документами сайта на сервер. При использовании Denwer’а
путь для копирования файлов выглядит таким образом Виртуальный «диск
сервера»:\home\localhost\www.
После копирования файлов на сервер можно
открывать сайт в Dreamweaver’е.
Организация файлов в папке сайта:
. Блок администратора
.1 папка «admin»
- папка содержащая файлы блока администратора сайта;
.2 папка «Blocks” - пака содержащая файлы
отвечающие за шапку, футер и панель навигации сайта;
.2.1 файл «db.php» - отвечает за связь с базой
данных на сервере;
.2.2 файл «header.php» - отвечает за изображение
в шапке сайта;
.2.3 файл «lev.php» - отвечает за панель
навигации;
.2.4 файл «niz.php» - отвечает за футор сайта;
.3 файл «new_novost.php»
- отвечает за страницу добавления новых новостей;
.4 файл «add_novost.php» - обработчик файла «new_novost.php»,
заносит информацию на сервер;
.5 файл «edit_novost.php»
- отвечает за страницу редактирования новостей;
.6 файл «update_novost.php»
- обработчик «edit_novost.php»,
переписывает информацию на сервере;
.7 файл «del_novost.php» - отвечающий за
страницу удаления новостей;
.8 файл «drop_novost.php» - обработчик
«del_novost.php», удаляет новость сервера;
.9 файл «edit_text.php»
- отвечает за страницу редактирования текстов сайта;
.10 файл «update_text.php»
- обработчик «edit_text.php»,
переписывает информацию на сервере;
.11 файл «Index.php»
- отвечает за главную страницу;
.12 файл «lock.php»
- отвечает за проверку доступа пользователя к блоку администратора;
.13 файл «style.css»
- отвечает за формат выведения информации на сайте.
.14 папка «img»
- в ней находятся изображения для сайта
. Блок пользователя
.1 папка «Blocks” - идентично пункту 1.2;
.2 папка «Doki» - содержит документы доступные
для скачивания посетителям сайта;
.3 папка «img»
- идентично пункту 1.14;
.4 папка «novosti» - содержит папки с датами, в
которых находятся изображения для новостей;
.5 файл «Index.php» - отвечает за главную
страницу сайта;
.6 файл «dokyment.php» - отвечает за страницу
«Документы» на сайте;
.7 файл «novosti.php» - отвечает за страницу
«Новости» на сайте;
.8 файл «spravka.php» - отвечает за страницу
«Справка» на сайте;
.9 файл «stryktyra.php» - отвечает за страницу
«Организационная структура» на сайте;
.10 файл «style.css» - отвечает за формат
выведения информации на сайте.
.11 файл «view_novosti.php» - отвечает за
отображение новостей на сайте;
.12 файл «yslygi.php» - отвечает за страницу
«Перечень услуг» на сайте;
.13 файл «zadachi.php» - отвечает за страницу
«Основные задачи» на сайте.
Редактирование программного кода на сайте
осуществляется при помощи программного средства Adobe
Dreamweaver.
Для правильного отображения сайта необходимо:
- Открыть в браузере
«#"868135.files/image007.jpg">
Рисунок 7 - Создание базы данных
После создания базы данных. Необходимо провести
импортирование файла «kursovoiphp.sql».
Для этого необходимо:
- Нажать вкладку «Импорт»;
- нажать кнопку «Выберите файл»;
- в открывшемся окне указать на файл
«kursovoiphp.sql», который находится на диске;
- нажать на кнопку открыть;
- нажать кнопку «Ок» в нижней левой
части страницы;
Рисунок 8 - Импортирование базы данных
Рисунок 9 - Кнопка «ОК»
Добавление, изменение и обновление информации на
сайте осуществляется с блока администратора. Для входа в блок администратора
необходимо в командной строке браузера прописать
«localhost/kursovoiPHP/admin/».
Блок администратора находится под паролем. Для
авторизации требуется ввести в появившемся оке:
Имя пользователя - Admin
Пароль - 206818
Рисунок 10 - Окно запроса
авторизации
После прохождения авторизации
откроется блок администратора и панель нафигации администратора, через которую
можно управлять сайтом.
Рисунок 11 - Панель навигации
администратора
Заключение
Цель курсовой работы является достигнутой.
Результатом является разработанная информационная
система социальной помощи населению. На основании изученного материала можно
сделать вывод о практической ценности сайтов.
Данная информационная система может
модифицироваться и адаптироваться под необходимые требования. Сайт предназначен
к использованию в организациями социальных служб.
В ходе работы реализованы следующие задачи:
- выполнен анализ инструментария и
средств разработки сайта;
- изучены языки PHP
и HTML;
- изучена технология работы
клиент-сервер;
- изучена работа базы данных «mysql»;
- изучены алгоритмы работы в
программном средстве Dreamweaver;
- закреплены новые знания в сфере
разработки информационных систем.
Таким образом, цель работы достигнута,
поставленные задачи решены.
На основании всего вышесказанного можно сделать
вывод, что web-сайты
являются перспективным направлением информатизации людей, и их значимость в
дальнейшем будет лишь увеличиваться.
программный сервер алгоритм
Список используемой литературы
1. Григорьев С.Г. и др. Теория и
практика создания образовательных электронных изданий. - М.: Изд-во РУДН, 2003.
. Педагогические технологии
дистанционного обучения / Под ред. Е.С. Полат. - М.: Академия, 2006.
Приложение А
Листинг программы
Главная страница
<?php
/* Главная страница */
include
("blocks/db.php");
/* Соединение с базой */
$q = "SELECT title, meta_d,
meta_k, text FROM setings WHERE page='Index'";
$result = mysql_query($q, $db);
$myrow = mysql_fetch_array
($result);
/* Создание массива информации */
//$myrow
= iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<meta
name="description" content=" <?php echo $myrow ['meta_d'];
?>">
<meta name="keywords"
content="<?php echo $myrow ['meta_k']; ?>">
<title><?php echo
$myrow['title']; ?></title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php echo $myrow['text']; ?>
</td><!--
Конец основной таблицы-->
</tr><!-- Низ
-->
<? include
("Blocks/niz.php"); ?>
</tr><!-- конец
низа
-->
</tbody>
</table>
</body>
</html>
<!-- Последующие страницы «Организационная
структура», «Перечень услуг», «Основные задачи», «Документы», «Справка» и
«Новости» имеют тот же код, что и код страницы «Главная». -->
Блок навигации
<td width="186"
valign="top"><p align="center">Навигация</p>
<div id="coolmenu">
<a href="index.php">Главная</a>
<a
href="stryktyra.php">Организационная структура</a>
<a href="yslygi.php">Перечень
услуг</a>
<a href="zadachi.php">Основные
задачи</a>
<a
href="dokyment.php">Документы</a>
<a
href="spravka.php">Справка</a>
<a
href="novosti.php">Новости</a>
</div></td>
Шапка сайта
<tr>
<td colspan="2"
bgcolor="#FFFFFF"><img src="img/Hapka2.jpg"
width="993" height="100" alt=""/></td>
</tr>
Футер сайта
<tr>
<td colspan="2"
bgcolor="#FFFFFF"><img src="img/niz.jpg"
width="995" height="280" alt=""/></td>
Код соединения
с
сервером
<?php
$db = mysql_connect
("localhost","php","");_select_db("kursovoiphp",
$db);
?>
Файл стилей используемых для сайта
/*@charset "windows-1251";*/
/* CSS Document */
.main_border {border:1px solid
#000000;}{font-family:verdana; font-size:14px; margin:15px;}
.left {background-color:#E9E9E9;
border-right:1px solid #424242;}
.sentr {background-color:#E9E9E9;
border-right:1px solid #424242;}{background-image:url(img/fon3.jpg)}.title
{color: #A72E37;: #ffffff;weight:bold;:5px;:5px;
}
#coolmenu{: 1px solid gray; /*Стиль
рамки
*/bottom-width: 0;: 93%; /*Ширина
меню
*/color: #f6f6f6; /*Фоновый
цвет
ячейки*/:8px;
/*Ширина
отступов*/
}
* html #coolmenu{ : 150px;/*Ширина
меню
для
Internet Explorer*/
}
#coolmenu a{: bold 13px Verdana; /*Шрифт
текста*/
padding: 2px; /*Внутренний отсутп текста ссылки
от краев ячейки*/left: 4px;/*Внутренний отсутп текста ссылки от левого края
ячейки*/
display: block;: 100%; /*Ширина
ячейки*/
color: #000000; /*Цвет текста*/decoration: none;
/*Подчеркивание у ссылок - нет*/
border-bottom: 1px solid gray;
}>body #coolmenu a{ : auto;
}
#coolmenu a:hover{color: #cccccc; /*Фоновый
цвет
ячейки
при
наведение
курсора*/
color: #000000; /*Цвет текста при наведении
курсора*/
}
.novosti_title
{background-color:#D4D4D4;}
.novosti_name {font-weight:bold;
margin-top:7px; margin-bottom:7px;}
.novosti_adds {font-size:11px;
margin-top:7px; margin-bottom:7px; color:#525252;}
.viwe_title {font-size:16px;
font-weight:bold; color:#cc0000; text-align:center;}
.viwe_date {font-size:11px;
color:#424242; margin-top:7px; margin-bottom:7px;font-weight:bold;}
Блок навигации в блоке администратора
<td
width="186" valign="top">
<p align="center">Новости</p>
<div id="coolmenu">
<a
href="new_novost.php">Добавить
новость</a>
<a
href="edit_novost.php">Редактировать
новость</a>
<a
href="del_novost.php">Удалить
новость</a>
</div>
<p align="center">Редактироват
тексты
страниц</p>
<div id="coolmenu">
<a
href="edit_text.php">Редактирование</a>
</div>
</td>
Главная страница блока администратора
<?php
include ("lock.php");
?> /* Проверка доступа к странице */
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Главная страница блока
администратора</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<p align="center">Блок
Админа</p>
</td>
</tr>
<!-- Конец основной таблицы-->
<!-- Низ
-->
<? include
("Blocks/niz.php"); ?>
</tr>
<!-- конец
низа
-->
</tbody>
</table>
</body>
</html>
Обработчик добавления новостей
<?php
include
("lock.php");("blocks/db.php"); /* Соединение
с
базой
*/(isset($_POST['title'])) {$title=$_POST['title'];}(isset($_POST['meta_d']))
{$meta_d=$_POST['meta_d'];}(isset($_POST['meta_k']))
{$meta_k=$_POST['meta_k'];}(isset($_POST['date']))
{$date=$_POST['date'];}(isset($_POST['description']))
{$description=$_POST['description'];}(isset($_POST['text']))
{$text=$_POST['text'];}(isset($_POST['avtor'])) {$avtor=$_POST['avtor'];}
//$myrow =
iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Обработчик</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php (isset($title) &&
isset($meta_d) && isset($meta_k) && isset($date) &&
isset($description) && isset($text) && isset($avtor))
{ /* незаполненые
поля
*/
$result = mysql_query ("INSERT
INTO novosti (title, meta_d, meta_k, date, description, text, avtor) VALUES
('$title', '$meta_d', '$meta_k', '$date', '$description', '$text',
'$avtor')");($result = 'true') {echo "<p>Запись
добавлена!</p>";}
else {echo "<p>Запись не
добавлена!</p>";}
}{ echo " <p> Есть незаполненные поля
</p>"; }
?>
</td>
</tr>
<!-- Конец основной таблицы-->
<? include
("Blocks/niz.php"); ?>
</tr>
<!-- конец
низа
-->
</tbody>
</table>
</body>
</html>
Страница удаления новости
<?php
include
("lock.php");
include ("blocks/db.php");
/* Соединение
с
базой
*/
/* $q = "SELECT title, meta_d,
meta_k, text FROM setings WHERE page='Index'";
$result = mysql_query($q, $db);
$myrow = mysql_fetch_array
($result); */
//$myrow =
iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Удаление
новости</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000" border="1"
align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<form
action="drop_novost.php" method="post">
<p>
<?php
$result=mysql_query ("SELECT
title, id FROM novosti ");
$myrow = mysql_fetch_array
($result);{ printf("<p><input name='id' type='radio'
value='%s'><label>%s</p>",$myrow["id"],$myrow["title"]);
}($myrow = mysql_fetch_array ($result));
?>
</p>
<p>
<input name="submit"
type="submit" value="Удалить">
</p>
</form>
</td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
<!-- конец
низа
-->
</tbody>
</table>
</body>
</html>
Обработчик удаления новости
<?php
include
("lock.php");("blocks/db.php"); /* Соединение
с
базой
*/(isset($_POST['id'])) {$id=$_POST['id'];}
//$myrow =
iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Обработчик</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php (isset($id))
{ /* удаление
новости
*/
$result = mysql_query ("DELETE
FROM novosti WHERE id='$id'");($result = 'true') {echo "<p>Запись
удалена!</p>";}
else {echo "<p>Запись не
удалён!</p>";}
}{ echo " <p> Новость не выбрана. </p>";
}
?>
</td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
<!-- конец
низа
-->
</tbody>
</table>
</body>
Страница редактирования новости
<?php
include
("lock.php");("blocks/db.php"); /* Соединение
с
базой
*/
/* $q = "SELECT title, meta_d,
meta_k, text FROM setings WHERE page='Index'";
$result = mysql_query($q, $db);
$myrow = mysql_fetch_array
($result); */
//$myrow = iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Редактировать
новость</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php
$id =
mysql_real_escape_string($_GET['id']);(empty($id))
{
$result=mysql_query ("SELECT
title, id FROM novosti ");($myrow = mysql_fetch_array ($result))
{ "<p><a
href=\"edit_novost.php?id=".$myrow['id']."\">".$myrow['title']."</a></p>";
}
}else {
$result=mysql_query ("SELECT *
FROM novosti WHERE id=$id ");
$myrow = mysql_fetch_array
($result);
/* вывести
форму
*/<<<HERE
<form
action="update_novost.php" method="post"
name="form1" id="form1">
<p>
<label
for="textfield">Название
новости:</label>
<br>
<input
value="$myrow[title]" name="title" type="text"
id="title" size="50">
</p>
<p>
<label
for="textfield">краткое
описание:</label>
<br>
<input
value="$myrow[meta_d]" name="meta_d" type="text"
id="meta_d" size="50">
</p>
<p>
<label
for="textfield">Ключевые
слова:<br>
</label>
<input
value="$myrow[meta_k]" type="text" name="meta_k"
id="meta_k">
</p>
<p>Дата:<br>
<input
value="$myrow[date]" type="date" name="date"
id="date">
</p>
<p>
<label
for="textarea">Краткое
описание:<br>
</label>
<textarea name="description"
cols="60" rows="5"
id="description">$myrow[description]</textarea>
</p>
<p>
<label
for="textarea">Текст:<br>
</label>
<textarea name="text"
cols="60" rows="20" id="text"> $myrow[text]
</textarea>
</p>
<p>Автор:<br>
<input
value="$myrow[avtor]" type="text" name="avtor"
id="avtor">
</p>
<input name="id"
value="$myrow[id]" type="hidden">
<p>
<input name="submit"
type="submit" id="submit" value="Обновить">
</p>
<p> </p>
</form>;
}
?>
</td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
</tbody>
</table>
</body>
</html>
Страница редактирования страниц в блоке
навигации
<?php
("lock.php");("blocks/db.php"); /* Соединение
с
базой
*/
/* $q = "SELECT title, meta_d,
meta_k, text FROM setings WHERE page='Index'";
$result = mysql_query($q, $db);
$myrow = mysql_fetch_array
($result); */
//$myrow =
iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Редактирование
главной</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<p align="center">Выберете
страницу
для
редактирования.</strong></p>
<?php
$id =
mysql_real_escape_string($_GET['id']);(empty($id))
{
$result=mysql_query ("SELECT
title, id FROM setings ");($myrow = mysql_fetch_array ($result))
{ "<p><a
href=\"edit_text.php?id=".$myrow['id']."\">".$myrow['title']."</a></p>";
}
}else {
$result=mysql_query ("SELECT *
FROM setings WHERE id=$id ");
$myrow = mysql_fetch_array
($result);
/* вывести
форму
*/<<<HERE
<form
action="update_text.php" method="post"
name="form1" id="form1">
<p>
<label
for="textfield">Название
страницы:</label>
<br>
<input
value="$myrow[title]" name="title" type="text"
id="title" size="50">
</p>
<p>
<label
for="textfield">Краткое
описание:</label>
<br>
<input
value="$myrow[meta_d]" name="meta_d" type="text"
id="meta_d" size="50">
</p>
<p>
<label
for="textfield">Ключевые
слова:<br>
</label>
<input
value="$myrow[meta_k]" type="text" name="meta_k"
id="meta_k">
</p>
<p>
<label for="textarea">Текст:<br>
</label>
<textarea name="text"
cols="60" rows="20" id="text"> $myrow[text]
</textarea>
</p>
<input name="id"
value="$myrow[id]" type="hidden">
<p>
<input name="submit"
type="submit" id="submit" value="Обновить">
</p>
<p> </p>
</form>;
}
?>
</td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
</tbody>
</table>
</body>
</html>
Код проверки доступа пользователя к блоку
администратора
<?php("blocks/db.php");(!isset($_SERVER['PHP_AUTH_USER']))
{
Header ("WWW-Authenticate:
Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401
Unauthorized");
exit();
}{
if (!get_magic_quotes_gpc()) {
$_SERVER['PHP_AUTH_USER'] =
mysql_escape_string($_SERVER['PHP_AUTH_USER']);
$_SERVER['PHP_AUTH_PW'] =
mysql_escape_string($_SERVER['PHP_AUTH_PW']);
}
$query = "SELECT pass FROM
userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
$lst = @mysql_query($query);(!$lst)
{
Header ("WWW-Authenticate:
Basic realm=\"Admin Page\"");
exit();
}(mysql_num_rows($lst) == 0)
{
Header ("WWW-Authenticate:
Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401
Unauthorized");
exit();
}
$pass = @mysql_fetch_array($lst);
if ($_SERVER['PHP_AUTH_PW']!=
$pass['pass'])
{
Header ("WWW-Authenticate:
Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
Страница создания новых новостей
<?php include
("lock.php"); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Добавить
новость</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include ("Blocks/lev.php");
?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<form
action="add_novost.php" method="post"
name="form1" id="form1">
<p>
<label
for="textfield">Название
новости:</label>
<br>
<input name="title"
type="text" id="title" size="50">
</p>
<p>
<label
for="textfield">краткое
описание:</label>
<br>
<input name="meta_d"
type="text" id="meta_d" size="50">
</p>
<p>
<label
for="textfield">Ключевые
слова:<br>
</label>
<input type="text"
name="meta_k" id="meta_k">
</p>
<p>Дата:<br>
<input type="date"
name="date" id="date">
</p>
<p>
<label
for="textarea">Краткое
описание:<br>
</label>
<textarea
name="description" cols="60" rows="5"
id="description"></textarea>
</p>
<p>
<label
for="textarea">Текст:<br>
</label>
<textarea name="text"
cols="60" rows="20" id="text">
</textarea>
</p>
<p>Автор:<br>
<input type="text"
name="avtor" id="avtor">
</p>
<p>
<input name="submit"
type="submit" id="submit" value="Занести
в
базу">
</p>
<p> </p>
</form></td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
</tbody>
</table>
</body>
</html>
Обработчик новостей новых новостей
<?php
include
("lock.php");
include ("blocks/db.php");
/* Соединение
с
базой
*/(isset($_POST['title'])) {$title=$_POST['title'];}(isset($_POST['meta_d']))
{$meta_d=$_POST['meta_d'];}(isset($_POST['meta_k']))
{$meta_k=$_POST['meta_k'];}(isset($_POST['date']))
{$date=$_POST['date'];}(isset($_POST['description']))
{$description=$_POST['description'];}(isset($_POST['text']))
{$text=$_POST['text'];}(isset($_POST['avtor']))
{$avtor=$_POST['avtor'];}(isset($_POST['id'])) {$id=$_POST['id'];}
//$myrow =
iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Обработчик</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php"); ?>
<!-- Конец
Шапки-->
<tr>
<!-- Основная
таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php (isset($title) &&
isset($meta_d) && isset($meta_k) && isset($date) &&
isset($description) && isset($text) && isset($avtor))
{ /* незаполненые
поля
*/
$result = mysql_query ("UPDATE
novosti SET title='$title', meta_d='$meta_d', meta_k='$meta_k', date='$date',
description='$description', text='$text', avtor='$avtor' WHERE
id='$id'");($result = 'true') {echo "<p>Запись
обновлена!</p>";}
else {echo "<p>Запись не
обновлена!</p>";}
}{ echo " <p> Он сломался (
</p>"; }
?>
</td>
</tr>
<!-- Конец основной таблицы-->
<!-- Низ
-->
<? include
("Blocks/niz.php"); ?>
</tr>
<!-- конец
низа
-->
</tbody>
</table>
</body>
</html>
Обработчик редактирования страниц сайта
<?php
("lock.php");("blocks/db.php"); /* Соединение
с
базой
*/(isset($_POST['title'])) {$title=$_POST['title'];}(isset($_POST['meta_d']))
{$meta_d=$_POST['meta_d'];}(isset($_POST['meta_k']))
{$meta_k=$_POST['meta_k'];}(isset($_POST['date'])) {$date=$_POST['date'];}(isset($_POST['description']))
{$description=$_POST['description'];}(isset($_POST['text']))
{$text=$_POST['text'];}(isset($_POST['avtor']))
{$avtor=$_POST['avtor'];}(isset($_POST['id'])) {$id=$_POST['id'];}
//$myrow = iconv('windows-1251','utf-8',$myrow);
//var_export($myrow);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"
/>
<title>Обработчик</title>
<link href="style.css"
rel="stylesheet" type="text/css">
</head>
<body>
<table width="1000"
border="1" align="center">
<tbody>
<!-- Подключение Шапки, перавая тал-->
<? include
("Blocks/header.php");
?>
<!-- Конец Шапки-->
<tr>
<!-- Основная таблица-->
<? include
("Blocks/lev.php"); ?>
<td width="798"
valign="top">
<!--ТЕКСТ-->
<?php (isset($title) &&
isset($meta_d) && isset($meta_k) && isset($text))
{ /* незаполненые
поля
*/
$result = mysql_query ("UPDATE
setings SET title='$title', meta_d='$meta_d', meta_k='$meta_k', text='$text'
WHERE id='$id'");($result = 'true') {echo "<p>Запись
обновлена!</p>";}
else {echo "<p>Запись не
обновлена!</p>";}
}{ echo " <p> Он сломался (
</p>"; }
?>
</td>
</tr>
<? include
("Blocks/niz.php"); ?>
</tr>
</tbody>
</table>
</body>
</html>