metoda / Ml_ITIn_2013
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
Методические указания
к выполнению лабораторных работ
по дисцеплине
Информационные технологии и Интернет технологии
для студентов всех форм обучения направления 6.050902 «Радиоэллектронные аппараты»
Харьков 2013
|
2 |
СОДЕРЖАНИЕ |
|
Предисловие............................................................................................................................... |
1 |
Лабораторная работа № 1.................................................................................... |
5 |
Тема №1. Инсталляция MySQL и создание локального сервера.......................................... |
5 |
Тема №2. Инструментальная среда PHPMYADMIN ........................................................... |
21 |
Лабораторная работа № 2.................................................................................. |
28 |
Тема №1. Создание баз и таблиц данных.............................................................................. |
28 |
Тема №2. Создание пользователей базы данных ................................................................. |
42 |
Лабораторная работа № 3.................................................................................. |
54 |
Программирование с использованием PHP и MySQL......................................................... |
54 |
Тема №1. Создание форм........................................................................................................ |
56 |
Задание 1. Разработать HTML-форму с переключателями ............................................. |
56 |
Задание 2: Разработать HTML-форму с методом Post ..................................................... |
62 |
Тема №2. Передача значений переменным в сценариях PHP. Использование |
|
возможностей метода GET без HTML-формы для передачи значений переменных в |
|
сценариях PHP ......................................................................................................................... |
65 |
Задание 1: Разработать приложение с использованием метода GET ............................. |
65 |
Тема №3. Создание формы и РНР-сценария в одном файле............................................... |
70 |
Задание 1: Получение данных из текстового поля........................................................... |
70 |
Задание 2. Использование рамок в приложении .............................................................. |
76 |
Задание 3. Разработать приложение с использьзованием только HTML ...................... |
82 |
Тема №4. Использование чисел. Управляющие структуры ................................................ |
87 |
Задание 1. Разработать приложение с формой для простого калькулятора .................. |
87 |
Тема №5. Использование управляющей структуры switch ................................................. |
91 |
Задание 1. Разработать приложение с использованием конструкции SWITCH-CASE 91 |
|
Задание 2. Разработать сценарий обрабочика кнопки OK с использованием Switch... |
95 |
Тема № 6. Использование регулярных выражений в сценариях РНР................................ |
96 |
Задание 1. Вывод информации о ошибочно заполненных полях формы ...................... |
97 |
Задание 2. Использование функций пользователя для контроля полей формы.......... |
101 |
Задание 3. Проверка ограничений в текстовом поле. Lab6_0_2.php ............................ |
107 |
Задание 4. Специфика имени пользователя. Lab6_0_3.php........................................... |
112 |
Задание 5. Специфика имени пользователя с помощью JavaScript. Lab6_0_4.php..... |
113 |
Задание 6. Проверка правильности ввода URL. Lab6_1.php ......................................... |
115 |
Задание 7. Проверка правильности ввода из списка. Lab6_2.php................................. |
119 |
Тема №7. Работа с массивами .............................................................................................. |
127 |
Задание 1. Означивание массива и вывод на экран. Lab7_0.php. ................................. |
129 |
Задание 2. Цикл foreach. Lab7_1.php ............................................................................... |
130 |
Задание 3. Конструкции list и each. Lab7_2.php ............................................................. |
132 |
Задание 4. Сортировка массива. Lab7_3.php. ................................................................. |
134 |
Тема №8. Функции в сценариях РНР .................................................................................. |
137 |
Задание 1. Вложенные функции. Lab8_0_0.php ............................................................. |
139 |
Задание 2. Объявление функций внутри других функций. Lab8_0.php....................... |
140 |
Задание 3. Возврат значений функцией. Lab8_1.php ..................................................... |
142 |
Задание 4. Возврат нескольких значений функцией. Lab8_2.php................................. |
143 |
Задание 5. Возвращение функцией нескольких величин. Lab8_3.php ......................... |
145 |
Задание 6. Рекурсивные функции . Lab8_4.php .............................................................. |
146 |
Задание 7. Функции-переменные. Lab8_5.php................................................................ |
147 |
Задание 8. Построение библиотек функций. Lab8_6_0.php. ......................................... |
148 |
Задание 9. Построение шаблона сайта. Lab8_7_0.php. .................................................. |
150 |
Тема №9. Использование файлов для хранения данных в сценариях РНР .................... |
156 |
Задание 1. Разработка интерфейса для загрузки файла. Lab9_0.php ............................ |
156 |
|
3 |
Задание 2. Автоматическая отправка данных по электронной почте. Lab9_4.php ..... |
163 |
Задание 3. Сохранение пользовательских данных в текстовом файле Lab9_5.php .... |
168 |
Задание 4. Сохранение пользовательских данных в текстовом файле Lab9_6_0.php 174 |
|
Тема № 10. Работа с каталогами в сценариях РНР ............................................................ |
180 |
Задание 1. Создать каталог и добавить в него файл ...................................................... |
180 |
Тема №11. Создание панели управления файлами ............................................................ |
185 |
Задание 1. Разработать форму и сопутствующее ей приложение для панели |
|
управления файлами.......................................................................................................... |
185 |
Тема № 12. Работа с базой через монттор MySQL и PhpMyAdmin.................................. |
189 |
Задание 1. Создать базу данных через командную строку............................................ |
189 |
Задание 2. Создание таблиц базы данных через командную строку............................ |
195 |
Задание 3. Вставка данных в базу данных ...................................................................... |
202 |
Задание 4. Создание командных файлов и файлов сценариев для вставки данных в |
|
базу данных. ....................................................................................................................... |
209 |
Тема № 13. Извлечение данных из базы данных ............................................................... |
220 |
Задание 1. Оператор выборки данных SELECT ............................................................. |
220 |
Задание 2. Извлечение данных по определенному критерию....................................... |
222 |
Задание 3. Извлечение данных из нескольких таблиц................................................... |
225 |
Задание 4. Поиск несоответствующих строк.................................................................. |
228 |
Задание 5. Использование псевдонимов имен таблиц (AS) .......................................... |
231 |
Задание 6. Извлечение данных в определенном порядке.............................................. |
233 |
Задание 7. Группировка и агрегирование данных.......................................................... |
235 |
Задание 8. Обновление записей в базе данных (UPDATE) ........................................... |
238 |
Задание 9. Изменение таблиц после создания (ALTER TABLE) ................................. |
240 |
Задание 10. Удаление записей, таблиц и базы данных (DELETE) ............................... |
242 |
Тема № 14. PHP и MySQL. Доступ к базе данных MySQL из Web с помощью РНР ..... |
244 |
Задание 1. Изучение работы архитектуры Web-баз данных ......................................... |
244 |
Задание 2. Проверка и фильтрация данных, исходящих от пользователя. |
|
Использование объектно-ориентированного синтаксиса PHP ..................................... |
251 |
Задание 3. Внесение новой информации в базу данных. Проверка и фильтрация |
|
данных, исходящих от администратора .......................................................................... |
261 |
Задание 4. Создание и удаление баз данных .................................................................. |
273 |
4
ВСТУПЛЕНИЕ
По дисциплине предусмотрено выполнение лабораторного практикума. Тематика лабораторных работ охватывает вопросы исследования структурной организации баз данных и процессов функционирования информационных систем на основе концепций банков данных. В зависимости от формы обучения и объема занятий, выделенных на проведение лабораторных работ, содержание программы работ может варьироваться.
Студентам разрешается использовать любую современную СУБД, поддерживающую принципы реляционного описания данных и язык SQL.
Основным требованием к выбору СУБД является ее работоспособность на вычислительной технике университета. В качестве рекомендуемой предлагается использовать СУБД MySQL или СУБД ORD. MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения практически под любой операционной системой.
Распространяется под GNU (General Public License) MySQL - является свободно распространяемой системой.
В Интернете указанные системы можно найти по адресам указанным
ниже:
http://www.mysql.com/downloads/ http://www.ord.com.ru.
5
Лабораторная работа № 1
Тема №1. Инсталляция MySQL и создание локального сервера
1. Цель работы
Изучение конфигурационных файлов пакета и создание собственного сервера MySQL Server на локальной машине.
2. Основные технические возможности
Максимальные размеры таблиц
MySQL 3.23+: До 8 миллионов терабайт. (2 ^ 63).
При этом необходимо учитывать тот факт, что размер таблицы в новых версиях ограничен лишь предельным размером файла в файловой системе вашей ОС. Например в NTFS этот размер теоретически может быть до 32 эксабайт.
Производительность
Результаты тестов Вы сможете найти по адресу http://www.mysql.com/information/benchmarks.html
|
|
|
|
|
|
|
Вставка 350768 строк |
|
Секунды |
|
Чтение 2000000 строк по индексу |
|
Секунды |
|
|
|
|
|
|
|
mysql |
|
381 |
|
|
|
|
Mysql |
|
367 |
||||
|
|
|
|
|
|
|
mysql_odbc |
|
619 |
|
|
|
|
mysql_odbc |
|
464 |
||||
|
|
|
|
|
|
|
db2_odbc |
|
3460 |
|
|
|
|
db2_odbc |
|
1206 |
||||
|
|
|
|
|
|
|
informix_odbc |
|
2692 |
|
|
|
|
informix_odbc |
|
121126 |
||||
|
|
|
|
|
|
|
ms-sql_odbc |
|
4012 |
|
|
|
|
ms-sql_odbc |
|
1634 |
||||
|
|
|
|
|
|
|
oracle_odbc |
|
11291 |
|
|
|
|
oracle_odbc |
|
20800 |
||||
|
|
|
|
|
|
|
solid_odbc |
|
1801 |
|
|
|
|
solid_odbc |
|
877 |
||||
|
|
|
|
|
|
|
sybase_odbc |
|
4802 |
|
|
|
|
sybase_odbc |
|
17614 |
||||
|
|
|
|
|
|
|
|
|
|
|
Возможность |
|
Версия MySQL |
|
|
|
|
|
Подзапросы |
|
4.1 |
|
|
|
|
|
Внешние ключи |
|
5.0 |
(3.23 с InnoDB) |
|
|
|
|
Представления |
|
5.0 |
|
|
|
|
|
Хранимые процедуры |
|
5.0 |
|
|
|
|
|
Триггеры |
|
5.0 |
|
|
|
|
|
Полные связи |
|
4.1 |
|
|
|
|
|
|
|
|
|
Ограничения |
|
4.1 |
или 5.0 |
|
|
|
|
Курсоры |
|
4.1 |
или 5.0 |
|
|
|
|
R-деревья |
|
4.1 |
(для таблиц MyISAM) |
|
|
|
|
3. Описание установки
6
Для того чтобы временно (для отладки) использовать свою машину как удаленный сервер, необходимо на машине установить Web-сервер Apache. Для установки программного обеспечения обеспечивающего взаимодействие клиента с сервером, использован комплекс программ "Денвер" (http://web.dklab.ru). В лабораторных использован следующий модуль инсталляции:
Состав базового комплекта Денвер:
1.Apache: выполняемые файлы, дистрибутивные и адаптированные конфигурационные файлы.
2.PHP: выполняемые файлы, модуль для веб-сервера Apache, дистрибутивный и адаптированный конфигурационный файл.
3.MySQL: выполняемые файлы, файлы сообщений об ошибках на русском и английском, база данных mysql.
4.Панель управления базой данных MySQL - phpMyAdmin, а также скрипт, упрощающий добавление нового пользователя MySQL.
5.Perl: выполняемые файлы, модули отсутствуют.
6.Отладочная "заглушка" для sendmail (/usr/sbin/sendmail), не отправляющая письма, а записывающая их в файл /tmp/!sendmail.txt.
7.Система автоматического поиска виртуальных хостов и обновления системного файла hosts, а также конфигурации Apache. Благодаря ей добавление нового виртуального хоста (или домена третьего уровня) заключается в простом создании каталога в /home (см. по аналогии с уже существующими хостами) и перезапуске комплекса. Все изменения вносятся
вконфигурационные и системные файлы автоматически, но вы можете управлять этим процессом при помощи механизма шаблонов хостов (см. /usr/local/apache/conf/httpd.conf за детальными разъяснениями).
Комплекс программ "Денвер" позволяет запустить полноценный вебсервер Apache с поддержкой PHP, Perl и сервер MySQL на машине,
работающей под управлением MS Windows 95/98/Me/NT/2000/XP. Как правило, при установке не требуется никакой настройки. Он обычно примененяется не только для обучения азам веб-программирования, но и для отладки интерактивных сайтов, программ, использующих базу данных MySQL, написанных на языках PHP и Perl.
4. Порядок выполнения работы
Чтобы не было проблем при инсталляции, выполните с командной строки программу Ping
7
Рис. 1.1. Использование командной строки. и проверьте Вашу машину на возможность ее исполнения.
Если программу инсталляции Bаse.exe запустить на исполнение,
то на экране появится диалоговое окно (рис. 1.2), отвечая на вопросы, сформированные в нем, происходит инсталляция пакета.
Примечание. Если на рисунках использованных в лабораторных работах
используется овал |
, то на данную информацию следует обратить особое |
внимание |
|
Рис. 1.2. Dos окно при инсталляции комплекта программ.
Для простоты и однозначности пути инсталляции, принимайте условия предлагаемые инсталлятором. Так, например, в нашем случае указываем, что папка для хранения будет C:\WebServers. В процессе инсталляции Вам будет предложено указать имя виртуального диска (для примера использовано имя виртуального диска ―W‖) и вариант его создания (рис. 1.3)
8
Рис. 1.3. Dos окно при инсталляции комплекта программ Денвер.
Если на вопрос ―Создать ярлыки на Рабочем столе для запуска комплекса (y/n) ?‖ вы укажите символ ―Y‖, то на рабочем столе компьютера появятся ярлыки (рис.1.4) и установка на этом Web сервера Apache завершается.
Рис. 1.4. Ярлыки на Рабочем столе после инсталляции.
9
ЗАПУСК И ОСТАНОВКА СЕРВЕРА Управление запуском и остановкой сервера осуществляется
посредством файлов etc\Start.exe и etc\Stop.exe, находящиеся в директории комплекса.
-старт сервера: файл etc\Start.exe (в некоторых комплексах RUN.exe)
-остановка сервера: файл etc\Stop.exe
-перезапуск сервера файл etc\Restart.exe
-остановка и отключение виртуального диска: файл etc\Shutdown.exe
Если на рабочем столе будет произведено нажатие на ярлыке ―Start Denwer‖ (рис. 1.4), то промелькнет ДОСовское окно (рис. 1.5), в котором прописывается протокол работы сгенерированного комплекса Денвер. Так например, будет обработан (обновлен) файл Hosts
(C:\Windows\system32\drivers\etc\Hosts описание и назначение см. далее),
созданный при инсталляции ОС, обслуживающей Ваш компьютер
Рис. 1.5. Сообщение об успешном запуске MySQL. После запуска Start Denwer
проверьте наличие ошибок в файлах error.log, находящихся по следующим путям:
C:\WebServers\home\localhost\error.log,
C:\WebServers\home\test1\error.log,
C:\WebServers\home\test2\error.log.
Если Вы попытаетесь удалить эти файлы и попытка будет отклонена операционной системой, то это означает, что они блокированы программой и следовательно Вы уже запустили Start Denwer.
Настоятельно рекомендуем сервер останавливать именно по команде Stop.exe (ярлык Stop Denwer (рис. 4)), так как, в противном случае, не исключена потеря данных в базе MySQL.
После инсталляции в папках на виртуальном диске ―W‖ (рис. 1.5) и автоматически созданной папке С:\webservers\ (рис. 1.6) будет храниться информация:
10
Рис. 1.6. Содержимое виртуального диска ―W‖ после инсталляции.
Сам сервер будет храниться в папке C:\webservers\*.* (рис. 1.7), которую Вы указали при инсталляции пакета (рис. 1.2). Отметим, что содержимое папки C:\webservers\*.* и виртуального диска идентично.
Рис. 1.7. Содержимое виртуального диска ―W‖ и папки C:\Webservers после инсталляции.
СТРУКТУРА КАТАЛОГОВ
HTML-документы (файлы) должны находиться в директориях /home/<имя_хоста>/www. По умолчанию сконфигурированы 2 виртуальных хоста: test1.ru и test2.ru (рис. 1.8), в директории первого (/home/test1.ru/www) расположена тестовая страница, содержащая некоторую информацию о настройках PHP, переменных окружения и т.д., выводимая функцией PHP phpinfo().