Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

metoda / Ml_ITIn_2013

.pdf
Скачиваний:
29
Добавлен:
16.03.2016
Размер:
6.66 Mб
Скачать

51

mysql_select_db ("my_base",$db)or die ("Нет доступа к базе".mysql_error()); $result = mysql_query ("SELECT * FROM lesonss ", $db) or die ("No доступа к табл".mysql_error())

//$num = mysql_num_rows ($result);

//echo "Всего лекций в базе My_base, в таблице Lessons пока - $num"; ?>

</body>

</html>

Рис. 2.34. Использование строкового комментария в php (строки 10 и 11) и

функции mysql_error().

Обратите внимание, что точка перед функцией mysql_error() поставлена не случайно.

После проведенных манипуляций Вы получите на экране (рис. 35)

Рис. 2.35. Ошибка, выданная функцией mysql_error() из строки 9 кода на рис. 2.14.

Ошибка заключается в неправильном написании слова lesonss в 9-ой строке кода представленного на рис. 2.34. Таблицы с таким названием в базе данных My_Base нет, а есть таблица с именем lessons.

Таким образом, правильный текст программы следующий (рис. 2.36): <html>

<body>

<p> New Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br> <?

$db = mysql_connect("localhost","people","12345"); mysql_select_db ("my_base",$db);

$result = mysql_query ("SELECT * FROM lessons ", $db) $num = mysql_num_rows ($result);

echo "Всего лекций в базе My_base, в таблице Lessons пока - $num"; ?>

</body>

</html>

Рис. 2.36. Правильный код index.php.

Используем данный код (рис. 2.36) для проверки функции mail.

$v = mail ("admin@moy.com","Привет", "Проверка функции MAIL"), которая позволяет переслать информацию с сервера клиенту (ам). Текст программы приобретет вид (рис. 2.37).

52

<html>

<body>

<p> New Mail Проверка моего домена с именем Moy.loc </p>

<? echo "Проверка вставки PHP кода в содержимое HTML" ?><br> <?

$db = mysql_connect("localhost","people","12345"); mysql_select_db ("my_base",$db);

$result = mysql_query ("SELECT * FROM lessons ", $db); $num = mysql_num_rows ($result);

echo "Всего лекций в базе My_base, в таблице Lessons пока - $num"; $v = mail ("admin@moy.com","Привет","Проверка функции MAIL"); ?>

</body>

</html>

Рис. 2.37. Код index.php использующий обратную связь.

Первый параметр функции mail – это адрес получателя. Второй параметр функции – это тема письма.

Третий параметр функции – это содержание письма

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

Если программу представленную на рис. 2.2 сохранить и перейти в Вашем браузере (например, в Internet Explorer) по адресу http://moy.loc/ , то Вы получите следующее окно (рис. 2.38).

Рис. 2.38. Окно браузера.

Аналогичный вариант Вы получите и в окне другого браузера (рис. 2.38a).

Рис. 2.38a. Окно браузера.

53

Для того чтобы проверить ушло ли сообщение, необходимо перейти в папку куда Вы установили сервер (в нашем случае это C:\WebServers) и найти в ней подпапку с именем !sendmail (рис. 2.39).

Рис. 2.39. Папка !sendmail для хранения сообщений по Email.

Если открыть эту папку, то в ней увидим полученное письмо (рис. 2.40).

Рис. 2.40. Возможный состав папки.

Имя письма состоит из даты отправки и времени получения. Расширение .eml, указывает к какому типу файлов относится данный файл.

Если раскрыть этот файл, то мы увидим следующее содержимое (рис.

2.41).

Рис. 2.41. Содержимое письма.

5. Содержание отчета

1. Результаты тестирования, полученные с помощью диагностических программ.

54

Лабораторная работа № 3

Программирование с использованием PHP и MySQL

1. Цель работы

Получение навыков программирования и использования баз данных.

2. Основные сведения

Тема №1

Создание форм

Цель работы: Получение практических навыков по созданию форм в документах HTML.

Тема №2

Передача значений переменным в сценариях PHP. Использование возможностей метода GET без HTML-формы для передачи значений переменных в сценариях PHP

Цель работы: Получение практических навыков по передаче значений переменным в сценариях РНР с использованием формы и с помощью метода

GET.

Тема №3

Создание формы и РНР-сценария в одном файле

Цель работы: Получение навыков и понимание взаимосвязанной работы формы и ее обработки.

Тема №4

Использование чисел. Управляющие структуры For и While

Цель работы: работа с численными данными в форме.

Тема №5

Использование управляющей структуры switch

Цель работы: Обучение применению структуры switch.

Тема №6

Использование регулярных выражений в сценариях РНР

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

Тема №7

Работа с массивами

Цель работы: Обучение использованию массивов в сценариях PHP.

55

Тема №8

Использование функций в сценариях РНР

Цель работы: Получение навыков по применению функций в PHP при обработке сценариев.

Тема №9

Использование файлов для хранения данных в сценариях РНР

Цель работы: Обучение работе с файлами для хранения данных при обработке сценариев.

Тема №10

Работа с каталогами

Цель работы: Получение практических навыков по работе с деревом каталогов.

Тема №11

Создание панели управления файлами

Цель работы: Получение практических навыков по обработке файлов в сценариях.

Тема №12

Работа с базой через монттор MySQL и PhpMyAdmin.

Цель работы: Изучение команд MySQL для хранения, выборки и обработки данных с использованием монитора MySQL и средств

PhpMyAdmin.

Тема №13.

Извлечение данных из базы данных

Цель. Практическое использование конструкций SQL.

Тема №14.

PHP и MySQL. Доступ к базе данных MySQL из Web с помощью

РНР.

Цель работы: Получение практических навыков по связке MySQL и

PHP.

3. Указания к выполнению работы

Исходные темы и данные для тем, студент выбирает самостоятельно, но последние две темы являются обязательными для всех. Число рассмотренных тем в Вашей лабораторной работе №3 не может быть меньше чем 7. В пункте 5 приведены исходные коды и формы, использованные в вышеперечисленных темах. Если в качестве целевой СУБД Вы использовали другую систему – то требования к выбору тем не меняются.

56

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=""> <!--Начало формы-->

57

<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 формы.

58

Ниже приводится описание основных конструктивных элементов, использованных при создании формы (рис. 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">

59

Многострочное поле ввода текста (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, который указывает на то, что перключатель будет иметь фокус (т.е.

60

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

Например:

<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="Надпись на кнопке">

Соседние файлы в папке metoda