- •Технология организации баз данных и знаний
- •Методические указания к выполнению лабораторных работ
- •Методические указания к выполнению лабораторных работ
- •Предисловие
- •Библиографический список
- •Лабораторная работа № 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. Создание и удаление баз данных
- •Содержание
Тема №2. Передача значений переменным в сценариях php. Использование возможностей метода get без html-формы для передачи значений переменных в сценариях php
Цель работы: Получение практических навыков по передаче значений переменным в сценариях РНР с использованием формы и с помощью метода GET.
Задание 1: Разработать приложение с использованием метода GET, в котором:
Создается форма ввода (см. рис. 3.5.) помощью программы Lab2.php (см. рис. 3.6.) для введения пользователем данных:
Имени;
Фамилии;
Адреса электронной почты;
Текста - комментария.
Введенные данные PHP-сценарий Lab2_result.php получает данные с формы .
Отображает извлеченные из формы данные в окне браузера.
Сценарий должен сгенерировать отправку данных в другой PHP-файл, который в свою очередь должен отобразить персональное приветствие пользователю.
Имена использоаванных и взаимосвязанных файлов:Lab2.php (описание и создание формы – рис. 3.6.), Lab2_result.php (обработчик событий для Lab2.php), Lab2_GET.php (использование метода Get)
В форму созданную с помощью Lab2.php (описание и создание формы) введите, например следующую информацию (рис. 3.5.)
Рис. 3.5. Форма с обработчиком на кнопке “OK” .
Исходный код Lab2.php (создание формы).
<!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>Lab2</title>
</head>
<body bgcolor=#CCFFFF>
<form action="Lab2_result.php" method="POST">
<!--Lab2_result.php Обработчик для данной HTML формы. -->
<!--В указании имени method надо указывать ковычки !!! -->
<table>
<tr>
<td> Введите Ваше имя: <br></td><!--имя атрибута на экране-->
<td><input type=text name="FName" size=20></td>
</tr>
<tr>
<td>Last Name</td><!--имя атрибута на экране-->
<td><input type=text name="LName" size=20></td>
</tr>
<tr>
<td>E-mail</td><!--имя атрибута на экране-->
<td><input type=text name="Email" size=40></td>
</tr>
<tr>
<td> Примечание </td><!--имя атрибута на экране-->
<td><textarea name="Comments" rows=5 cols=40></textarea></td>
</tr>
</table>
<input type=submit name="Submit" value="OK">
<input type=reset name="Reset" value="Очистить">
<!--Нажатие кнопки name="Submit" с именем value="OK" приведет к вызову обработчика данной формы (к аналогичному действию приведет нажатие Enter на любом из полей). Нажатие кнопки name="Reset" с значением value="Cancel" (Очистить) приведет к уничтожению всех объявленных переменных в форме.
  - непрерывный пробел
Веб-браузеры обычно игнорируют дополнительные символы пробела, введенные в текст страницы. Для этого используется команда  . Эта команда создает неделимое пустое пространство между элементами страницы, будь то графика или текст. Следует учитывать тот факт, что использование   вместо пробела между двумя соседними словами гарантирует, что оба слова не будут разнесены по разным строкам в окне браузера - они будут расположены всегда рядом.
-->
</form>
</body>
</html>
Рис. 3.6. Код создания формы для рис. 3.5.
Нажатие , (на выше показанной форме рис. 3.5) приводит к следующему результату в окне браузера (рис. 3.7). Отметьте, что имя программы обработчика в адресной строке будет сформировано автоматически.
Рис. 3.7. Результат обработки события после нажатия кнопке “OK” на рис. 3.5.
Код программы (Lab2_result.php), который приводит к этому результату приведен ниже (рис. 3.8).
Lab2_result.php (обработчик для кнопки “OK”)
<!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>Lab2_обработчик</title>
Информация попадает в обработчик - программа Lab2_result.php
</head>
<body bgcolor=#FFFFFF><!--Цвет фона белый-->
<?PHP
print("<br>В обработчике переменные из HTML кода Lab2.php напрямую не доступны! <br>");
print("Имя переменная FName is: $FName <br>");
print("Указана фамилия is: $LName <br>");
print("e-mail is: $Email <br>");
print("Комментарий: $Comments <br>");
print("Через массив POST переменные наверняка будут доступны<br>");
$FName = $_POST["FName"];
print("Имя FName $FName передано через глобальный POST: $_POST[FName] <br>");
//а как указано ниже - даст ошибку
//print("Имя FName $FName передано через глобальный POST:
//$_POST['FName'] <br>");
print("Указана фамилия is: $_POST[LName] <br>");
print("e-mail is: $_POST[Email] <br>");
print("В примечании указано $_POST[Comments] <br>");
print("Click <a href=Lab2_GET.php?FName=$FName&LName=$_POST[LName]>here</a> здесь, чтобы посмотреть как работает метод GET");
//После знака '?' перечислены переменные, которые должны быть
//доступны в программе Lab2_GET, которая вызывается по ссылке,
//если пользователь кликнет на слове here, то будет вызвана
//программа Lab2_GET.php с указанными переменными
//Слово here может быть заменено на смысловое русское слово
?>
</body>
</html>
Рис. 3.8. Код программы обработки события на кнопке “OK”.
Если выполнить действие
то будет вызвана программа Lab2_GET.php (рис. 3.10.) результат (рис. 3.9) и исходный код, которой приведен ниже.
Рис. 3.9. Результат обработки события по ссылке HERE.
Обратите внимание на содержимое адресной строки при выводе результата.
Код Lab2_GET.php
<!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>Lab2_GET</title>
</head>
<body>
<?PHP
//реакция при нажатии на ссылку, см. файл Lab2_GET.php слово Here
$FName = $_GET['FName'];
$LName = $_GET['LName'];
print("<center> Hello из Lab2_GET Имя:'$FName' Фамилия: ' $LName '!!!</center>");
//А так будет ошибка print("<center> Hello из Lab2_GET Имя $FName $Lname !!!</center>");
?>
</body>
</html>
Рис. 3.10. Исходный код программы Lab2_GET.php.
В данной лабораторной работе были получены практические навыки по передаче данных в РНР-сценарий с помощью HTML-форм и с помощью метода GET.