
- •Методические указания к выполнению лабораторных работ Предисловие
- •Библиографический список
- •Лабораторная работа № 1 Тема №1. ИнсталляцияMySqLи создание локального сервера
- •1. Цель работы
- •2. Основные технические возможности
- •3. Описание установки
- •4. Порядок выполнения работы
- •5. Содержание отчета
- •Лабораторная работа № 1
- •6. Содержание отчета
- •Лабораторная работа № 2 Тема №1. Создание баз и таблиц данных
- •1. Цель работы
- •2. Основные сведения
- •3. Программа работы
- •4. Указания к выполнению работы
- •3. Программа работы
- •00 Проверка моего домена с именем Moy.Loc
- •4. Указания к выполнению работы
- •5. Содержание отчета
- •3. Указания к выполнению работы
- •Задание 2: Разработать html-форму с методом Post
- •Тема №2. Передача значений переменным в сценариях php. Использование возможностей метода get без html-формы для передачи значений переменных в сценариях php
- •Тема №3. Создание формы и рнр-сценария в одном файле
- •Задание 1: Получение данных из текстового поля
- •I курсив
- •Тема №4. Использование чисел. Управляющие структуры
- •Тема №5. Использование управляющей структурыswitch
- •Тема № 6. Использование регулярных выражений в сценариях рнр
- •Проверка ошибок
- •Задание 1. Вывод информации о ошибочно заполненных полях формы
- •Задание 2. Использование функций пользователя для контроля полей формы
- •Задание 3. Проверка ограничений в текстовом поле.Lab6_0_2.Php
- •Задание 4. Специфика имени пользователя. Lab6_0_3.Php
- •Задание 5. Специфика имени пользователя с помощью JavaScript. Lab6_0_4.Php
- •Тема №7. Работа с массивами
- •Задание 1. Означивание массива и вывод на экран. Lab7_0.Php.
- •Задание 4. Сортировка массива.Lab7_3.Php.
- •Тема №8. Функции в сценариях рнр
- •Задание 1. Вложенные функции.Lab8_0_0.Php
- •Задание 2. Объявление функций внутри других функций.Lab8_0.Php
- •Задание 3. Возврат значений функцией.Lab8_1.Php
- •Задание 4. Возврат нескольких значений функцией.Lab8_2.Php
- •Задание 5. Возвращение функцией нескольких величин.Lab8_3.Php
- •Задание 6. Рекурсивные функции .Lab8_4.Php
- •Задание 7. Функции-переменные.Lab8_5.Php
- •Задание 8. Построение библиотек функций.Lab8_6_0.Php.
- •Задание 9. Построение шаблона сайта.Lab8_7_0.Php.
- •Тема №9. Использование файлов для хранения данных в сценариях рнр
- •Создание сценария загрузки.
- •Задание 3. Сохранение пользовательских данных в текстовом файлеLab9_5.Php
- •Задание 4. Сохранение пользовательских данных в текстовом файлеLab9_6_0.Php
- •Тема № 10. Работа с каталогами в сценариях рнр
- •Тема №11. Создание панели управления файлами
- •Задание 1. Разработать форму и сопутствующее ей приложение для панели управления файлами.
- •Тема № 12.Работа с базой через монтторMySql и PhpMyAdmin
- •Задание 1. Создать базу данных через командную строку
- •Задание 3. Вставка данных в базу данных
- •Задание 4. Создание командных файлов и файлов сценариев для вставки данных в базу данных.
- •Тема № 13. Извлечение данных из базы данных
- •Задание 1. Оператор выборки данныхSelect
- •Задание 2. Извлечение данных по определенному критерию
- •Задание 3. Извлечение данных из нескольких таблиц
- •Задание 4. Поиск несоответствующих строк
- •Задание 5. Использование псевдонимов имен таблиц (as)
- •Задание 6. Извлечение данных в определенном порядке
- •Задание 7. Группировка и агрегирование данных
- •Задание 8. Обновление записей в базе данных (update)
- •Задание 10. Удаление записей, таблиц и базы данных (delete)
- •Тема № 14.Php и MySql. Доступ к базе данных MySql из Web с помощью рнр
- •Задание 1. Изучение работы архитектуры Web-баз данных
- •Задание 2. Проверка и фильтрация данных, исходящих от пользователя. Использование объектно-ориентированного синтаксисаPhp
- •Задание 3. Внесение новой информации в базу данных. Проверка и фильтрация данных, исходящих от администратора
- •Задание 4. Создание и удаление баз данных
- •Содержание
5. Содержание отчета
1. Результаты тестирования, полученные с помощью диагностических программ.
Лабораторная работа № 3
Программирование с использованиемPHPиMySQL
1. Цель работы
Получение навыков программирования и использования баз данных.
2. Основные сведения
Тема №1
Создание форм
Цель работы: Получение практических навыков по созданию форм в документах HTML.
Тема №2
Передача значений переменным в сценариях PHP. Использование возможностей метода GET без HTML-формы для передачи значений переменных в сценариях PHP
Цель работы: Получение практических навыков по передаче значений переменным в сценариях РНР с использованием формы и с помощью метода GET.
Тема №3
Создание формы и РНР-сценария в одном файле
Цель работы: Получение навыков и понимание взаимосвязанной работы формы и ее обработки.
Тема №4
Использование чисел. Управляющие структуры For и While
Цель работы: работа с численными данными в форме.
Тема №5
Использование управляющей структуры switch
Цель работы: Обучение применению структуры switch.
Тема №6
Использование регулярных выражений в сценариях РНР
Цель работы: Получение практических навыков в использовании регулярных выражений при обработке форм.
Тема №7
Работа с массивами
Цель работы: Обучение использованию массивов в сценариях PHP.
Тема №8
Использование функций в сценариях РНР
Цель работы: Получение навыков по применению функций в PHP при обработке сценариев.
Тема №9
Использование файлов для хранения данных в сценариях РНР
Цель работы: Обучение работе с файлами для хранения данных при обработке сценариев.
Тема №10
Работа с каталогами
Цель работы: Получение практических навыков по работе с деревом каталогов.
Тема №11
Создание панели управления файлами
Цель работы: Получение практических навыков по обработке файлов в сценариях.
Тема №12
Работа с базой через монттор MySQL и PhpMyAdmin.
Цель работы: Изучение команд MySQL для хранения, выборки и обработки данных с использованием монитора MySQL и средств PhpMyAdmin.
Тема №13.
Извлечение данных из базы данных
Цель. Практическое использование конструкций SQL.
Тема №14.
PHP и MySQL. Доступ к базе данных MySQL из Web с помощью РНР.
Цель работы: Получение практических навыков по связке MySQL и PHP.
3. Указания к выполнению работы
Исходные темы и данные для тем, студент выбирает самостоятельно, но последние две темы являются обязательными для всех. Число рассмотренных тем в Вашей лабораторной работе №3 не может быть меньше чем 7. В пункте 5 приведены исходные коды и формы, использованные в вышеперечисленных темах. Если в качестве целевой СУБД Вы использовали другую систему – то требования к выбору тем не меняются.
4. Содержание отчета
1. Исходные тексты программ.
2. Результаты тестирования, полученные с помощью диагностических программ.
5. Примеры реализации тем
Тема №1. Создание форм
Цель работы: Получение практических навыков по созданию форм в документах HTML.
Задание 1. Разработать HTML-форму с переключателями
вида (рис. 3.1).
Рис. 3.1. HTML форма.
Исходный код (файл lab1.php) представлен ниже (рис. 3.2.).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Lab1</title>
</head>
<body>
<body bgcolor=#99CCCC>
<form method=post action=""> <!--Начало формы-->
<table>
<tr>
<td valign=top>Текстовое поле</td>
<td><input type=text name="text1" value="Значение text1 не более 255 символов,size=50" size=50></td>
</tr>
<tr>
<td valign=top>Текстовое поле PASSWORD</td>
<td><input type=password name="pwd" value="Пароль- password"></td>
</tr>
<tr>
<td valign=top>Текстовое поле TEXTAREA</td>
<td><textarea name="text2" rows=4 cols=30>Текст длина которого может превышать 255 символов. Показывать строк rows=4</textarea></td>
</td>
<tr>
<td valign=top>Переключатели CHECKBOX</td>
<td>
<input type=checkbox name="chk1" value="on" checked> Первый<br>
<input type=checkbox name="chk2" value="on" > Второй<br>
<input type=checkbox name="chk3" value="on" checked> Третий<br>
</td>
</tr>
<tr>
<td valign=top>Переключатели RADIO</td>
<td>
<input type=radio name="rad" value="on1" checked>Первый<br>
<input type=radio name="rad" value="on2" >Второй<br>
<input type=radio name="rad" value="on3" checked>Третий<br>
</td>
</tr>
<tr>
<td valign=top>List</td>
<td><select name="sel" size=1>
<option value="first option">First option</option>
<option value="second option">Second option</option>
<option value="none">Нет выбора</option>
</select>
</tr>
<tr>
<td valign=top>Скрытый орган управления</td>
<td><input type=hidden name="hid" value="hidden"</td>
</tr>
</table>
<br>
<input type=submit value="Переслать" /> <!-- -->
<input type=reset value="Reset">
</form> <!--Конец формы-->
</body>
</html>
Рис. 3.2. Код HTML формы.
Ниже приводится описание основных конструктивных элементов, использованных при создании формы (рис. 3.1), представленных в коде рис. 3.2.
Теги <form> и </form>
Теги <form> и </form> задают начало и конец формы. Начинающий форму тег <form> содержит два атрибута: action и method. Атрибут action содержит адрес URL сценария, который должен быть вызван для обработки сценария (на рис. 3.2. обработчик событий не указан action=""). Атрибут method указывает браузеру, какой вид HTTP запроса необходимо использовать для отправки формы; возможны значения POST и GET (на рис. 3.2. указан метод method=post).
Главное отличие методов POST и GET заключается в способе передачи информации. В методе GET параметры передаются через адресную строку, т.е. по сути в HTTP-заголовке запроса, в то время как в методе POST параметры передаются через тело HTTP-запроса и никак не отражаются на виде адресной строки.
Допустима запись:
<form method="post" action="../admin/add.php">
</form>
Текстовое поле (text)
Позволяет пользователям вводить различную информацию.
<input type="Тип" name="Имя поля" size="Размер" maxlength="Макс. количество символов">
При создании обычного текстового поля размером size и максимальной допустимой длины maxlength символов, атрибут type принимает значение text. Если указан параметр value, то поле будет содержать отображать value-текст. При создании поля не забывайте указывать имя поля, т.к. этот атрибут является обязательным.
Например:
<input type="text" name="txtName" size="10" maxlength="5" value="Текст по умолчанию">
Поле для ввода пароля (password)
Полностью аналогичен текстовому полю, за исключением того, что символы, набираемые пользователем, не будут отображаться на экране.
Например:
<input type="password" name="txtName" size="10" maxlength="5">
Многострочное поле ввода текста (textarea)
Многострочное поле ввода текста позволяет отправлять не одну строку, а сразу несколько. По умолчанию тег создает пустое поле шириной в 20 символов и состоящее из двух строк.
<textarea name="Имя поля" cols="Ширина поля " rows="Число строк">Текст</textarea>
Многострочное поле ввода текста начинается с парных тегов <textarea></textarea>. Тэг name задает имя многострочного поля. Также можно указать ширину поля(cols) и число строк(rows). При необходимости можно указать атрибут readonly, который запрещает редактировать, удалять и изменять текст, т.е. текст будет предназначен только для чтения. Если необходимо чтобы текст был изначально отображен в многострочном поле ввода, то его необходимо поместить между тэгами <textarea></textarea>.
Например:
<textarea name="txtArea" cols="15" rows="10" readonly>
Текст, который изначально будет отображен в многострочном поле ввода и который нельзя изменять, т.к. указан атрибут readonly </textarea>
Флажок (checkbox)
Флажки checkbox предлагают пользователю ряд вариантов, и разрешает выбор нескольких из них.
Группа флажков состоит из элементов <input>, имеющих одинаковые атрибуты name и type(checkbox). Если вы хотите, чтобы элемент был отмечен по умолчанию необходимо пометить его как checked. Если элемент выбран, то сценарию поступит строка имя=значение, в противном случае в обработчик формы не придет ничего, т.е. не выбранные флажки вообще никак не проявляют себя в переданном наборе данных.
Например:
<input name="mycolor" type="checkbox" value="red" checked>Красный(выбран по умолчанию)
<input name="mycolor" type="checkbox" value="blue">Синий
<input name="mycolor" type="checkbox" value="black">Черный
<input name="mycolor" type="checkbox" value="white">Белый
Переключатель(radio)
Переключатели radio предлагают пользователю ряд вариантов, но разрешает выбрать только один из них.
<input name="Имя переключателя" type="Тип" value="Значение">
Переключатель (radio) имеет атрибуты name, type и value. Атрибут name задает имя переключателя, type задает тип radio, а атрибут value задает значение. Если пользователь выберет переключатель, то сценарию будет передана строка имя=значение. При необходимости можно указать параметр checked, который указывает на то, что перключатель будет иметь фокус (т.е. будет отмечен по умолчанию) при загрузке страницы. Переключатели также можно объединять в группы, для этого они должны иметь одно и тоже имя.
Например:
<input name="mycolor" type="radio" value="white"> Белый
<input name="mycolor " type="radio" value="green" checked> Зеленый (выбран по умолчанию)
<input name="mycolor " type="radio" value="blue"> Синий
<input name="mycolor " type="radio" value="red"> Красный
<input name="mycolor " type="radio" value="black"> Черный
Скрытое текстовое поле (Скрытый орган управления)
Позволяет передавать сценарию какую то служебную информацию, не отображая её на странице.
<input name="Имя" type="Тип" value="Значение">
Скрытое поле начинается с тега <input>, атрибуты которого являются name, type и value. Атрибут name задает имя поля, type определяет тип поля, а атрибут value задает значение поля.
Например:
<input name="email" type="hidden" value="spam@nospam.ru">
Кнопка отправки данных формы (submit)
Служит для отправки формы сценарию.
<input type="Тип" name="Имя кнопки" value=" текст_на_кнопке ">
При создании кнопки для отправки формы необходимо указать 2 атрибута: type=“submit” и value=”Текст кнопки”. Атрибут name необходим, если кнопка не одна, а несколько и все они созданы для разных операций, например кнопки "Сохранить", "Удалить", "Редактировать" и т.д. После нажатия на кнопку сценарию передается строка имя=текст кнопки.
Кнопка отправки данных
Кнопка отправки данных инициирует действие, заданное атрибутом action тега <form>. Синтаксис определения:
<input type="submit" value=" текст_на_кнопке">
Определение кнопки включает два атрибута:
type -- тип элемента (для кнопки отправки данных -- submit);
value -- текст, по умолчанию отображаемый на кнопке.
Кнопка сброса формы (Reset)
Кнопка сброса отменяет все изменения, внесенные в элементы формы.
<input type="Тип" name="Имя кнопки" value="Надпись на кнопке">
При нажатии на кнопку сброса(reset), все элементы формы будут установлены в то состояние, которое было задано в атрибутах по умолчанию, причем отправка формы не производиться.
Например:
<input type="reset" name="Reset" value="Очистить форму">
<input type="reset" value="текст_на_кнопке">
Определение кнопки включает два атрибута:
type -- тип элемента (для кнопки сброса -- reset);
value -- текст, по умолчанию отображаемый на кнопке.
Кнопка сброса выглядит точно так же, как и кнопка отправки данных, если не считать того, что на ней обычно выводится слово «Reset» (рис. 3.1).