Создание сайта дистанционного тестирования клиентов

Язык разработки PHP: применение, синтаксис, типы данных, суперглобальные массивы, особенности интерпретатора. Apache-HTTP сервер: архитектура, механизм виртуальных хостов, функциональные возможности. Разработка сайта системы диагностики. Бюджет проекта.

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

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

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

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

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

Введение

В настоящее время сеть Интернет является не только площадкой для различного рода развлечение, но и площадкой для ведения бизнеса и заработка в сети. Доступность в сеть Интернет постоянно растёт, в нашей стране уже далеко не исключение из случая, что компьютер подключён к всемирной сети интернет. Многие люди имеют подключение к сети даже на домашнем персональном компьютере. Большинство современных организаций имеют своё представительство в сети Интернет. Многие делают простые сайты так называемые сайты-визитки, для пополнения клиентской базы, а некоторые разворачивают настоящие торговые магазины в сети. Такой интерес обусловлен всеобщей заинтересованностью людей в современных технологиях, так как Интернет это быстрый, дешёвый и удобный способ ведения бизнеса в современном обществе. На сайтах фирм выкладывается информация о деятельности фирмы, контакты связи с ней и очень часто делают представление предлагаемых товаров и услуг. В сети процветает реклама, раскрутить фирму гораздо дешевле и быстрее можно в сети Интернет, нежели другими общепринятыми способами. В настоящее время сайт организации это как лицо фирмы, на них сделан красивый и удобный интерфейс, после посещения этих сайтов у пользователя складывается первое мнение о фирме.

При создании сайта организации в сети необходим комплексный подход. Провести анализ нынешнего состояния сайтов конкурентов, составить техническое задание, выбрать метод создания, провести финансовый анализ затрат и посчитать эффективность от создания сайта.

Компания «Информ-С», где я проходил практику, предоставила мне всю нужную информацию для создания своей разработки. Они оказывали мне содействие и помощь в написании интернет ресурса.

Цели: Создание сайта дистанционного тестирования клиентов, с дальнейшим формированием отчёта о прохождении тестирования.

Задачи:

- изучить язык Веб-программирования PHP;

- изучить язык запросов к базе данных (MySQL) в контексте PHP;

- проанализировать современное состояние сайтов и сайто-строение;

- разработать дизайн сайта;

- написать функциональную часть сайта;

- написать код сайта на PHP с применением таблиц баз данных (MySQL);

- описать экономическую часть проекта.

Материал в дипломном проекте расположен в той последовательности как происходило изучение и обработка. В первой главе приведён анализ программных продуктов, которые были использованы при разработке и написании сайта. Во второй главе описан исходный код PHP с пояснениями, и структура самого сайта. В третей главе описано обоснование экономической эффективности от проделанной работы. Выводы по разработке интернет ресурса находятся в заключительной части.

В процессе разработки интернет ресурса были использованы бесплатные инструменты создания подобного рода интернет ресурсов. В качестве интернет сервера был выбран Apache, в качестве языка написания страниц PHP, в качестве СУБД MySQL. В связке эти три программных компонента дают огромные возможности для создания интернет ресурсов, где присутствует большая гибкость написания кода, простота и лёгкость понимания. Не последнюю роль в этом играет также и бесплатность, присущая всем OpenSource-овым проектам, к числу которых принадлежат все перечисенные продукты. Количество сайтов на связке PHP+Apache+MySQL уже исчисляется миллионами и постоянно растёт, откуда можно сделать вывод о возрастающей актуальности технологии в ближайшем будущем.

1. Анализ программного обеспечения

1.1 Язык разработки PHP

PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста», англ. Personal Home Page Tools (устар.) -- «Инструменты для создания персональных веб-страниц») -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

1.1.1 Область применения

В области программирования для Сети PHP -- один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:

- автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

- взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

- автоматизированная отправка HTTP-заголовков;

- работа с HTTP-авторизацией;

- работа с cookies и сессиями;

- работа с локальными и удалёнными файлами, сокетами.

- обработка файлов, загружаемых на сервер;

- работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.

Входит в LAMP -- распространённый набор программного обеспечения для создания веб-сайтов (Linux, Apache, MySQL, PHP).

1.1.2 История PHP

В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl -- интерпретатора скриптов -- перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter -- «Личная Домашняя Страница / Интерпретатор форм»).

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C -- PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зээв Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. С этой версии акроним php расшифровывается как «PHP: hypertext Preprocessor», вместо устаревшего «Personal Home Page».

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зээв Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.

Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода.

1.1.3 Синтаксис

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа Hello world на PHP выглядит следующим образом:

<?php

echo 'Hello, world!'; ?>

PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

<html>

<head>

<title>Тестируем PHP</title>

</head>

<body>

<?php echo 'Hello, world!'; ?>

</body>

</html>

Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как <? ?> и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <? ?> и <% %> могут быть выключены в конфигурационном файле php.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).

PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if/else и циклов.

PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

1.1.4 Типы данных

PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

- целый тип (integer);

- вещественный тип данных (float, double);

- логический тип (boolean);

- строковый тип (string);

- и специальный тип NULL.

К нескалярным типам относятся:

- «ресурс» (resource);

- массив (array);

- объект (object).

К псевдотипам относятся:

- mixed один или несколько необязательных параметров;

- number число (integer либо float);

- callback (string или анонимная функция);

- void отсутствие параметров.

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от ?2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double), также, зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7Ч10?308 до ±1.7Ч10+308).

PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустую строку, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.

Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().

Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный хеш. Возможно неожиданное поведение при использование цикла for со счетчиком вместо foreach. Так, например, сортируя массив с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.

Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:

function($args..$argsN) use($ctxVar,$ctxVar1) { definition ; }

callback тип может быть представлен:

- строкой (интерпретируется как название функции);

- массивом где нулевой и первый элемент строки (интерпретируется как название статичной функции в классе);

- массивом где нулевой элемент объект, а первый строка (интерпретируется как метод у объекта).

1.1.5 Суперглобальные массивы

Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивы global. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.).

Все суперглобальные массивы, кроме $GLOBALS и $_REQUEST, имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны (за исключением области видимости: массивы с «длинными» именами не являются суперглобальными). Cуперглобальные массивы:

- $GLOBALS - Массив всех глобальных переменных (в том числе и пользовательских);

- $_SERVER - Содержит переменные окружения, которые операционная система передаёт серверу;

- $_ENV - Текущие переменные среды (англ. Environment variables). Их набор специфичен для платформы, на которой выполняется скрипт;

- $_GET - Содержит параметры GET-запроса, переданные в URI после знака вопроса «?»;

- $_POST - Ассоциативный массив значений полей HTML-формы при отправке методом POST. Индексы элементов соответствуют значению атрибута name элементов управления HTML-формы;

- $_FILES - Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс, идентичный значению атрибута «name» в форме, и, в свою очередь, также является массивом со следующими элементами:

['name'] -- исходное имя файла на компьютере пользователя;

['type'] -- указанный агентом пользователя MIME-тип файла. PHP не проверяет его, и поэтому нет никаких гарантий, что указанный тип соответствует действительности;

['size'] -- размер файла в байтах;

['tmp_name'] -- полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно;

['error'] -- код ошибки. Если файл удачно загрузился, то этот элемент будет равен 0 (UPLOAD_ERR_OK);

- $_COOKIE - Ассоциативный массив с переданными агентом пользователя значениями куки;

- $_REQUEST - Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES;

- $_SESSION (уст. $HTTP_SESSION_VARS) - Содержит данные сессии.

1.1.6 Особенности интерпретатора

PHP-скрипты обычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:

1) лексический анализ исходного кода и генерация лексем;

2) интаксический анализ полученных лексем;

3) генерация байт-кода;

4) выполнение байт-кода интерпретатором (без создания исполняемого файла).

Для увеличения быстродействия приложений, возможно, использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1--3, что в общем случае ведёт к значительному ускорению работы. Наибольшая эффективность акселератора достигается на скриптах с большим количеством исходного кода, содержащих небольшое количество операций, ресурсоёмких при выполнении, даже, считанного количества раз (например таких, как масштабирование изображений).

Важной особенностью является то, что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта.

Интерпретатор состоит из ядра и подключаемых модулей, «расширений», представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и тому подобным. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.

Интерпретатор PHP имеет специальный конфигурационный файл -- php.ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое.

Существует несколько способов использования интерпретатора PHP:

1) В качестве модуля к веб-серверу посредством SAPI или ISAPI (например, для Apache модуль mod_php). Веб-сервер запускается с загруженным модулем и при обращении к php-скрипту он выполняется в окружении процесса веб-сервера. Это наиболее распространённый метод использования PHP в силу следующих причин:

- он наиболее удобен для отладки, так как ошибки PHP выводятся на экран (если данный режим включен в настройках), тогда как в режиме CGI ошибка приводит к генерации HTTP-кода 500 и дополнительную информацию необходимо искать в логах веб-сервера;

- имеется возможность менять некоторые настройки PHP «на лету» с помощью файла .htaccess, без перезагрузки веб-сервера;

- в режиме CGI нет возможности воспользоваться HTTP-аутентификацией.

- обладает более высокой скоростью работы.

2) В качестве CGI. В этом случае, при вызове скрипта веб-сервер вызывает /usr/bin/php-cgi /path/to/script.php. При этом создаётся новый процесс и скрипт выполняется в окружении php-cgi, которое, в зависимости от настроек, может сильно отличаться от окружения процесса веб-сервера. Более современным вариантом является FastCGI. Несмотря на то, что препроцессор PHP все равно будет перезапускаться при каждом запросе, преимуществом данного варианта перед предыдущим является более высокая степень безопасности, потому как PHP работает как отдельное приложение со своими правами.

3) В качестве скрипта командной строки, являющегося исполняемым файлом, который вызывается пользователем из командной строки; скрипт выполняется в окружении вызвавшего пользователя. В этом случае возможно использование PHP для создания клиентских GUI-приложений и решения административных задач в операционных системах UNIX, Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако, в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript

1.1.7 Модуль phpMyAdmin

Программа phpMyAdmin является одним из самых распространенных средств для администрирования, управления и каждодневной работы с базами данных MySQL. Практически на каждом хостинге, где установлена поддержка этой СУБД, в качестве панели управления предлагают phpMyAdmin.

phpMyAdmin - это набор скриптов, написанных на РНР, который предоставляет практически все необходимые функции по работе с базами данных MySQL. В дополнение к возможностям самого сервера MySQL, он предоставляет дополнительные "фичи", которые позволяют более эффективно и легко работать с данными.

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

Разработчики получают полный контроль над своим сервером, над всеми базами и таблицами, возможность интерактивно исполнять SQL-запросы и даже начальные функции отладки неверных запросов. Конечно, до отладчика из пакета MySQL Query Browser phpMyAdmin еще очень далеко, но это ведь совершенно различные весовые категории.

phpMyAdmin имеет встроенные средства для проведения текущих работ с базами и таблицами - обслуживание, проверка и починка испорченных таблиц, резервирование и восстановление из архивов, экспорт данных из таблиц, как в формате SQL, так и в более специфических, например LaTeX или PDF. Для уменьшения объема файл с данными можно сразу же на сервере сжать архиватором - это очень полезно для создания на своей машине копии из удаленной базы на сайте.

Установка пакета очень проста, необходимо лишь указать данные для доступа к серверу MySQL - логин, пароль и имя хоста. После установки появится еще одна служебная база, в дополнение к базе самой СУБД - phpmyadmin. В этой базе программа хранит свои настройки и другие необходимые ей данные.

Рисунок 1.1 - Интерфейс «phpMyAdmin»

Интерфейс программы состоит из двух вертикальных фреймов, в первом из них перечислены доступные базы (если вы администратор), или же сразу таблицы вашей текущей базы данных, если вы не имеете доступа к другим БД. Выбрав необходимую таблицу, вы можете перейти в окно просмотра ее параметров и настроек. Страница загружается в основной фрейм, так что вся информация всегда находится перед глазами в одном окне браузера.

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

Программа позволяет выполнять любые SQL-запросы над базами, причем это можно делать как из специального, отдельного, окна запросов, так и для каждой таблицы отдельно. На наиболее частые запросы можно делать специальные закладки и в последствии получить доступ к ним по одному нажатию на ссылку.

Рисунок 1.2 - Обслуживание таблицы в phpMyAdmin

Очень интересная возможность - после выполнения запроса программа показывает не только детальную информацию о нем (время обработки, количество затронутых рядов), но и предлагает показать расширенную информацию о использованных данных при построении запроса (индексах и прочее, что может быть полезно при построении сложных запросов, отладке и ручной оптимизации). Еще одна функция позволяет по введенному запросу автоматически строить код на PHP. Хотя результирующий код очень прост - всего лишь переменная $sql, которая содержит код запроса, оптимизированный под синтаксис PHP, но это очень полезная функция, особенно если вы сначала отлаживаете сложный запрос через интерфейс phpMyAdmin-а, а потом, убедившись в корректной выдаче результатов, хотите перенести запрос в свой скрипт.

Хотя большинство запросов надо прямо вводить в виде корректных SQL-выражений, но для операции поиска данных существует специальный удобный интерфейс. Для этого есть специальная вкладка "Искать", переход по которой открывает страницу, где поля для поиска представлены в виде формы, заполняя которую можно, не особо вдаваясь в тонкости синтаксиса конкретных выражений, создать довольно таки сложный запрос (имеется ввиду, запрос SELECT). Допустимые поля, варианты сравнения и сортировки результатов - все можно задать через выпадающие списки и меню, а дополнительные условия поиска можно указать в специальных текстовых полях. Хотя такой построитель выражений совсем не отменяет знания особенностей работы БД и SQL, он существенно помогает, когда надо быстро построить специфический поисковый запрос.

Рисунок 1.3 - Операция поиска по таблицам

Хотя большинство запросов надо прямо вводить в виде корректных SQL-выражений, но для операции поиска данных существует специальный удобный интерфейс. Для этого есть специальная вкладка "Искать", переход по которой открывает страницу, где поля для поиска представлены в виде формы, заполняя которую можно, не особо вдаваясь в тонкости синтаксиса конкретных выражений, создать довольно таки сложный запрос (имеется ввиду, запрос SELECT). Допустимые поля, варианты сравнения и сортировки результатов - все можно задать через выпадающие списки и меню, а дополнительные условия поиска можно указать в специальных текстовых полях. Хотя такой построитель выражений совсем не отменяет знания особенностей работы БД и SQL, он существенно помогает, когда надо быстро построить специфический поисковый запрос.

phpMyAdmin позволяет сделать практически все, что необходимо обычному администратору, разработчику или пользователю - и сделать это без необходимости установки какого-либо ПО, из любой точки мира, лишь бы был Интернет.

1.2 Apache-HTTP сервер

Apache HTTP-сервер -- свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Входит в LAMP -- распространённый набор программного обеспечения для создания веб-сайтов (Linux, Apache, MySQL, PHP).

1.2.1 История

Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточка»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности.

Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. По статистике Netcraft, в августе 2007 года он работал на 51 % всех веб-серверов, в мае 2009 года -- на 46 %. По данным Netcraft на январь 2011 года, более 160 миллионов сайтов обслуживаются веб-сервером Apache, что составляет 59 % от общего числа веб-сайтов.

1.2.2 Архитектура

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена.

Ядро Apache полностью написано на языке программирования C.

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

- Конфигурация сервера (httpd.conf);

- Конфигурация виртуального хоста (httpd.conf c версии 2.2 extra/httpd-vhosts.conf);

- Конфигурация уровня директории (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

Помимо этого, параметры могут быть заданы через ключи командной строки.

1.2.3 Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей[6], выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество -- отдельными open source-разработчиками.

Модули могут быть, как включены в состав сервера в момент компиляции, так и загружены динамически, через директивы конфигурационного файла.

В модулях реализуются такие вещи, как:

- Поддержка языков программирования;

- Добавление функционала;

- Исправление ошибок или модификация основных функций;

- Усиление безопасности.

1.2.4 Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

1.2.5 Функциональные возможности

Интеграция с другим ПО и языками программирования

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

К ним относятся:

- PHP (mod_php);

- Python (mod python, mod wsgi);

- Ruby (apache-ruby);

- Perl (mod perl);

- ASP (apache-asp).

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, sh, Java.

Безопасность

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:

- Ограничение доступа к определённым директориям или файлам;

- Механизм авторизации пользователей для доступа к директории по методу HTTP-Авторизации (mod_auth_basic) и digest-авторизации (mod_auth_digest);

- Ограничение доступа к определённым директориям или всему серверу, основанное на IP-адресах пользователей;

- Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.

Существуют модули, реализующие авторизацию через СУБД или PAM.

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.

Существуют внешние средства обеспечения безопасности, например mod_security.

Начиная с версии 2.0 появилась возможность определения сервером локали пользователя. Сообщения об ошибках и событиях, посылаемые браузеру, теперь представлены на нескольких языках и используют SSI технологию.

Также, можно реализовать средствами сервера отображение различных страниц для пользователей с различными локалями. Apache поддерживает множество кодировок, в том числе Unicode, что позволяет использовать страницы, созданные в любых кодировках и на любых языках.

Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forrbiden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.

1.3 Система Управления Базами Данных MySQL

1.3.1 Основные функции СУБД

- управление данными во внешней памяти (на дисках);

- управление данными в оперативной памяти с использованием дискового кэша;

- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

- поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

- ядро, которое отвечает за управление данными во внешней и оперативной памяти, и журнализацию;

- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;

- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;

1.3.2 Классификации СУБД

По модели данных:

- Иерархические;

- Сетевые;

- Реляционные;

- Объектно-ориентированные;

По степени распределённости:

- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере);

- Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД:

- Файл-серверные. В данной СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость централизованного управления; затруднённость обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД.

На данный момент файл-серверная технология считается устаревшей.

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

- Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Cachй, ЛИНТЕР.

- Встраиваемая СУБД -- СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

1.3.3 MySQL

MySQL -- свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Происхождение MySQL

MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM -- подпрограммы низкого уровня. В результате был выработан новый SQL-интерфейс, но API-интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» -- доподлинно не известно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы.

Лицензирование

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.

Платформы

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

История выпусков

Первый внутренний выпуск MySQL состоялся 23 мая 1995 года.

Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998.

MySQL 4.0

Несмотря на то, что версия 4.0 является устаревшей, она всё ещё имеет значительное распространение. Основные возможности этой версии:

- практически полная реализация ANSI SQL-99, плюс расширения;

- межплатформенная совместимость;

- независимые типы таблиц (MyISAM для быстрого чтения, InnoDB для транзакций и ссылочной целостности);

- транзакции;

- поддержка SSL;

- кэширование запросов;

- репликация: один головной сервер на одного подчинённого, много - подчинённых на одного головного;

- полнотекстовая индексация и поиск с использованием типа таблиц MyISAM;

- внедрённая библиотека базы данных;

- поддержка Юникода (UTF-8);

- таблицы InnoDB, обеспечивающие соответствие требованиям ACID;

- встроенный сервер, позволяющий включать MySQL в автономные приложения.

MySQL 4.1

Рекомендованной версией на 2005 год является MySQL 4.1 вышла 27 октября 2004. Она содержит следующие нововведения:

- вложенные запросы и производные таблицы;

- новая система кодировок и сортировок;

- более быстрый и гибкий протокол клиент-сервер с поддержкой подготовленных запросов, обеспечивающий их оптимальное исполнение;

- новая программа установки и настройки для Microsoft Windows и Linux;

- защищённые через OpenSSL соединения клиент-сервер;

- высоко-оптимизированная библиотека, которая может быть использована в сторонних программах;

- полноценная поддержка Юникода (UTF-8 и UCS2);

- стандартные пространственные типы данных GIS, для хранения географической информации;

- улучшенный полнотекстовый поиск и система помощи.

MySQL 5.0

Версия MySQL 5.0 вышла 24 октября 2005 года, в этой версии значительно расширена функциональность, которая ставит MySQL в один ряд с коммерческими СУБД. Если раньше СУБД MySQL обвиняли в недостаточной поддержке стандарта SQL, то с появлением пятой версии этой популярной базы данных, появилась практически полная поддержка стандарта SQL. MySQL 5.0 содержит следующие нововведения:

- хранимые процедуры и функции;

- обработчики ошибок;

- курсоры;

- триггеры;

- представления;

- информационная схема (так называемый системный словарь, содержащий метаданные).

MySQL 5.1

Версия MySQL 5.1 продолжает путь к стандарту SQL:2003. MySQL 5.1 содержит следующие нововведения.

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

- Изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003;

- Построчная репликация (англ. row-based replication), при которой в бинарный лог будет записываться только информация о реально измененных строках таблицы вместо оригинального (и, возможно, медленного) текста запроса. Построчную репликацию можно использовать только для определенных типов sql-запросов, в терминах MySQL -- смешанная репликация (англ. mixed replication);

- Встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на добавление триггера к таблице, по идеологии -- на crontab;

- Дополнительный набор функций для обработки XML, реализация поддержки XPath;

- Новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности по управлению содержимым лог-файлов, логи теперь могут быть сохранены и в таблицах general_log и slow_log. Утилита mysqlslap позволяет провести нагрузочное тестирование БД с записью времени реакции на каждый запрос;

- Для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки;

- MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER;

- Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске;

- Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0;

- API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера;

- Реализация парсера полнотекстового поиска в виде plug-in;

- Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).

MySQL 5.5

Ветка MySQL 5.5 базируется на невыпущенной серии MySQL 5.4 и содержит ряд значительных улучшений, связанных с повышением масштабируемости и производительности, среди которых:

- Использование по умолчанию движка InnoDB;

- Поддержка полусинхронного (semi-synchronous) механизма репликации, основанного на патчах к InnoDB от компании Google;

- Улучшение функций по партицированию данных. Расширенный синтаксис для разбиения больших таблиц на несколько частей, размещенных в * разных файловых системах (partitioning). Добавлены операции RANGE, LIST и метод оптимизации «partition pruning»;

- Новый механизм оптимизации вложенных запросов и JOIN операций;

- Переработана система внутренних блокировок;

- Интегрированы патчи Google с оптимизацией работы InnoDB на CPU с большим количеством ядер.

MySQL 6.0

Версия MySQL 6.0 пока находится в стадии альфа-тестирования. Первоначально было принято решение о создании версии 5.2, однако вскоре эта версия была переименована в 6.0.

Одним из основных нововведений версии 6.0 планировалось сделать новый тип таблиц Falcon, разработанный в качестве потенциальной замены для InnoDB компании InnoBase, приобретённой компанией Oracle. В связи с приобретением в 2010 году Sun Microsystems тем же Oracle, судьба Falcon остается под вопросом.

2. Разработка сайта системы диагностики

2.1 Структура сайта

Сайт состоит из нескольких страниц, каждая из них обладает своими индивидуальными особенностями и написаны для выполнения различных действий по сбору информации и записи её в базу данных.

Структура сайта:

- index.php - главная страницу, куда попадает пользователь при первом обращении на сайт, здесь тестируемый проходит регистрацию, получает свой индивидуальный номер и все данные записываются в базу данных;

- choice_test.php - после успешной регистрации тестируемый попадает на страницу выбора теста, на странице выводятся тесты и описание к ним, и кнопки перехода непосредственно к тестированию, на выбор представлено четыре разных теста, с разными типами вопросов, ответов и в некоторых есть ограничение на время прохождения тестирования;

- otchet.php - страница отчётов, это страница доступна только администрации сайта, так как прямых ссылок на сайте нет на эту страницу, и при входе нужно указать пароль доступа;

- pid.php - страница Входа по уже существующему идентификатору, если введённый номер совпадает с номером который хранится в базе данных пользователь автоматически переходит на страницу выбора теста;

- test.php - страница вывода тестов, в зависимости от выбранного теста может по разному выглядеть;

Скрытые страницы (используются для записи или чтения Базы Данных, пользователь не замечает, что посетил и их):

- hidden_php/enter_id.php - вход по уже существующему идентификатору;

- hidden_php/great_user.php - создание новой записи в БД о тестируемом;

- hidden_php/exit.php - обработка выхода тестируемого с сайта.

2.2 Главная страница (index.php)

Рисунок 2.1 - Главная страница сайта

Главная страница сайт состоит полностью из полей регистрации. При первом входе, тестируемый, должен ввести главные поля регистрации, которые выделены жирным текстом (Фамилия, Имя, Отчество, Пол, Место работы (город), Организацию, Подразделение, Должность, Год рождения, Общий трудовой стаж, выбрать с какого года работает в организации, с какого года в занимаемой должности, Образование, выбрать в каком году его закончил, оконченный ВУЗ, Специальность).

Помимо полей регистрации на странице расположены две кнопки (очистка формы и отправка данных формы на сервер) и ссылка для входа уже зарегистрированных тестируемых.

Дизайн страниц загружается из внешнего файла (style.css) в котором описан дизайн всей страницы.

Код страницы с пояснениями:

<?php

$db = mysql_connect("localhost","w0rt","qwerty");

Соединение с базой данных MySQL, ввод логина и пароля для доступа. Результат этого действия записывается в переменную $db.

mysql_select_db("imi-test",$db);

Выбор конкретной базы данных, для дальнейшей работы с ней.

$result = mysql_query("SELECT * FROM index_string ORDER BY id",$db);

Запрос к базе данных, который возвращает все поля из таблицы index_string, отсортированные по ID. Результат этой выборки записывается в переменную $result для дальнейшего использования.

$myrow = mysql_fetch_array($result);

Возвращает массив, соответствующий извлечённому ряду, или FALSE, если рядов больше нет. Присваивается переменной $myrow, которая служит для вывода информации (echo $myrow[`ID']).

Все действия по подключению к базе данных и записи её данных в переменные выполнены, теперь осталось вывести всё на экран в виде оформленной странички. Вывод полей регистрации и подписи к ним осуществляется при помощи цикла FOR:

for ($i=1; $i<20; $i++)

Этот цикл будет повторяться 20 раз, хоть полей меньше в базе данных, это сделано с запасом, если будут добавлены новые поля для регистрации.

{

if (isset($myrow['string']))

Если функция isset($myrow['string']) вернёт TRUE, это значит что переменная $myrow['string'] существует и её можно выводить на экран, в противном случае вывод полей регистрации заканчивается.

Вывод подписи с права от поля ввода данных:

echo "<p>" . $myrow['string'] . "</p>";

Когда приходит время для вывода 4го поля, в котором пользователь должен выбрать свой пол, выполняется другой сценарий вывода:

if ($i == 4) {

echo "<input type=\"radio\" name=\"" . $myrow['registr'] . "\"value=\"Жен\" /><span class=\"sex\">Жен</span><input type=\"radio\" name=\"" . $myrow['registr'] . "\"value=\"Муж\" /><span class=\"sex\">Муж</span>";

}

else {

Во всех других случаях, когда $i отлична от значения “4” выполняется вывод по этому сценарию:

if ($myrow['numb'] == 1){

В этом условии производится проверка, если переменная $myrow['numb'] неравна “1”, то эта часть кода пропускается, если равенство есть то выводится выпадающее поле выбора года:

сервер сайт диагностика хост

echo "<select name=\"", $myrow['registr'] ,"\" id=\"", $myrow['registr'] ,"\"><option value=\"...\">(Выбрать)</option>";

for ($j = date("Y") ; $j >= 1900 ; $j=$j-1){

С помощью этого цикла происходит заполнение годов в поле выбора:

echo "<option value=\"$j\">$j</option>\r\n";

}

"</select>";

}

Если все предыдущие условия не выполнились, то выполняется этот сценарий вывода, выводятся поля для заполнения:


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

  • Компоненты вычислительной системы, предоставляющие клиенту доступ к определенным ресурсам и обмен информацией. Функциональные возможности ядра веб-сервера Apache. Механизм авторизации пользователей для доступа к директории на основе HTTP-аутентификации.

    курсовая работа [105,6 K], добавлен 07.06.2014

  • Краткие сведения о доске объявлений, структура и внутреннее содержание соответствующего сайта. Принципы и основные этапы разработки, выбор и обоснование программных средств: язык HTML, каскадные таблицы стилей, JavaScript, Web-сервер Apache, PHP.

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

  • Функциональные возможности веб-сайтов и их применение. Сравнительный анализ языков программирования для веб-разработки. Методические аспекты разработки образовательного веб-сайта. Определение трудозатрат на разработку и отладку программного продукта.

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

  • Понятие сайта и их классификация - корпоративные, презентационные, тематические, интернет-магазины. Язык гипертекстовой разметки HTML и его средства разработки. Виртуальный web-сервер Denver и MySQL базы. Этапы разработки сайта и структура навигации.

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

  • Проектирование web-сайта. Пользовательские персонажи, детальная концепция сайта. Разработка скелетной схемы страниц, информационной архитектуры. Создание прототипа web-сайта. Выбор среды разработки. CMS системы и их анализ. Стадии проектирования сайта.

    курсовая работа [346,7 K], добавлен 18.09.2016

  • Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.

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

  • Установка и настройка локального web–сервера и его компонентов. Конфигурационные файлы сервера Apache и их натройка. Настройка PHP, MySQL и Sendmail. Проверка работоспособности виртуальных серверов. Создание виртуальных хостов. Тест Server Side Includes.

    учебное пособие [6,2 M], добавлен 27.04.2009

  • Основы Web-программирования. Сервер баз данных MySQL. Язык сценариев PHP. Язык гипертекстовой разметки HTML. Назначение и цели разработки сайта. Форма входа и регистрации, обратная связь интернет–магазина. Требования к структуре сайта, описание контента.

    курсовая работа [754,5 K], добавлен 02.06.2014

  • Понятие web-сайта и их типы. Программы для создания web-сайта. Описание структуры проекта. Алгоритм создания сайта. Описание конструктора Jimdo. Языки программирования серверного выполнения. Создание полнофункционального веб-сайта для ОАО "КУЛЗ".

    курсовая работа [3,5 M], добавлен 05.06.2015

  • Языки написания сайта, принципы и обоснование их отбора. Программы создания web-страниц, их функциональные особенности и возможности. Технология и основные этапы разработки интернет-сайта, правила его составления, оформления, заполнения, программный код.

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

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