SUP надстрочный текст.

-->

<!--<fieldset style="width: 50%" align="right">-->

<fieldset style="width: 50%" ><!--Рамка формы-->

<legend><b>Ввод исходных данных(заголовок рамки)</b></legend>

<?PHP //начало встроеннго PHP кода

if (!isset($_POST[Submit]))//

{

$NameG=$_GET['LastName'];

$NameR=$_REQUEST['LastName'];

$NameP=$_POST['LastName'];

if (empty($NameG))

echo "Кнопку Submit=OK еще не нажимали. Значение Фамилии в массивах должно быть Get=$NameG = Пусто,REQUEST=$NameR =Пусто,Post=$NameP =Пусто <br>";

// на экране будет:

//Кнопку Submit=OK еще не нажимали. Значение Фамилии в

//массивах должно быть Get= = Пусто,REQUEST= =Пусто,

//Post= =Пусто

else

// на экране будет (если ввели например фамилию Кук):

//Кнопку Submit=OK уже нажимали. Значение Фамилии в

//массивах $_GET=Кук, $_REQUEST=Кук, S_Post=

echo 'Кнопку Submit=OK <font color=red><BIG> уже </BIG> нажимали. Значение Фамилии в массивах $_GET='.$NameG.', $_REQUEST='.$NameR.', S_Post='.$NameP.' <font color=blue><br>';

 

$a=$_SERVER['REQUEST_URI'];

echo "<br>Передали через адресную строку ".$a;

//на экране (если Фамилия не означена):

//Передали через адресную строку /php/Lab3_2.php

//на экране (если Фамилия означена и равна Кук):

//Передали через адресную строку

// /php/Lab3_2.php?LastName=%CA%F3%EA

echo "<br> Метод указанный в SERVER = ".$_SERVER['REQUEST_METHOD']." ".$Name." " ; // GET

//на экране (при неозначенной или означенной фамилии):

//Метод указанный в SERVER = GET

$b=$_SERVER['QUERY_STRING'];

echo "<br>Передали через SERVER['QUERY_STRING'], b= ".$b;

//на экране (если Фамилия не означена):

//Передали через SERVER['QUERY_STRING'], b=

//на экране (если Фамилия означена и равна Кук):

//Передали через SERVER['QUERY_STRING'], b= LastName=%CA%F3%EA

$c = true;

if (!empty($b)) {

//в адресной строке указан параметр и его значение

//echo ''.$b.' SERVER='.$_SERVER['QUERY_STRING'].' не //пуста Факт = '.$_GET['LastName'];

$LastName=$_GET['LastName'];

$c=false;

}

 

echo "<br> QUERY_STRING ".($c ? 'Пусто' : 'Не пусто '.$b.' Фам=$LastName='.$LastName);

//на экране:

//QUERY_STRING Пусто, если значение $c = true

//иначе

//QUERY_STRING Не пусто LastName=%CA%F3%EA Фам=$LastName=Кук

 

//echo "<br> Выполняется PHP_SELF=".$_SERVER['PHP_SELF'];

//Вывод вышестоящего оператора будет:

//Выполняется PHP_SELF=/php/Lab3_2.php

 

 

//Создание формы и описание ее объектов

echo"<font color=blue>";//цвет имен атрибутов в форме голубой

 

print("<form action=\"Lab3_2.php\" method=POST>");

print("<table bgcolor='#33FF99'>

<tr><td> Имя </td>");//вывод атрибута на экран

 

print("<td><input type=text name=\"FirstName\" size=20></td></tr>");

print("<tr><td>Фамилия</td>");

//print("<tr bgcolor='#33FF99'><td>Фамилия</td>");

if (!empty($b))

// Внимание! if (!c) не эквивалентно if (!empty($b))

{// в адресной строке указан параметр и его значение

//print("<td><input type=text name=\"LastName\" value=$LastName size=20></td></tr>");

print("<td><input type=text name=\"LastName\" value=".$_GET['LastName']." size=20></td></tr>");

}

else

{

print("<td><input type=text name=\"LastName\" size=20></td></tr>");

}

 

print("<tr><td> Комментарий</td>");

print("<td><textarea name=\"Comments\" rows=5 cols=40></textarea></td>");

print("</tr></table>");

//формирование кнопок

print("<input type=submit name=\"Submit\" value=\"OK\">&nbsp;");

print("<input type=reset name=\"Reset\" value=\"Отмена-Cancel\">");

 

print("</form>");

}

 

else //Кнопку Submit=OK нажимали

{

$FirstName=trim($_POST[FirstName]);

echo "Вышли из формы, нажав кнопку OK. Вывод значений введенных переменных <br>";

$LastName=trim($_POST[LastName]);//значение фамилии

if (empty($LastName))

{//проверка на пустое значение переменной $LastName

echo'<font color=red><BIG> Введите Фамилию. Связь с сервером запрещена.</BIG> Вернитесь на предыдущую страницу!';

exit; //выйти из программы

}//конец if (empty($LastName))

 

$Comments=trim($_POST[Comments]);

print("Указали Имя : $FirstName <br>");

print(" Фамилия : $LastName <br>");

 

if (empty($Comments))//комментарий не вводили

print("Поле комментария не заполняли<br>");

else

{

print("В поле комментария было:<br> $Comments <br>");

}//конец if (empty($Comments))

print("Нажмите <a href=\"Lab3_2.php?LastName=$LastName\">здесь</a> и будет вызвана Lab3_2.php с параметром LastName,<br> значение = $LastName ");

}

?>

</fieldset> <!--Конец рамки-->

</body>

</html>

Рис. 3.19. Исходный код программы Lab3_2.php.

Нажатие на ссылке (рис. 3.18) должно привести к выводу следующего экрана (рис. 3.20).

Рис. 3.20. Пример вывода введенных значений.

Если пользователь не вводит значения фамилии и нажимает кнопку “OK”, то реакция программы Lab3_2.php показана на рис. 3.21.

 

Рис. 3.21. Пример сообщения из программы Lab3_2.php при отсутствии значения Фамилии в поле ввода.

 

 

Задание 3. Разработать приложение с использьзованием только HTML средств для ввода информации.

Вид формы форма ввода показан на рис. 3.22. Исходный код представлен на рис. 3.23

Рис. 3.22. Пример форм, реализованных программой Lab3_3.php

На рис. 3.22 показано несколько форм использующих два текстовых поля, конструкцию checkboxи выпадающий список select.

 

Синтаксис определения текстового поля:

<input type="text" name="имя переменной" size="N" maxlenght="N" value="">

 

Определение текстового поля включает пять атрибутов:

type - тип элемента (для текстовых полей - text);

name - тип переменной, в которой сохраняются введённой данные;

size - общий размер текстового поля в браузере;

maxlength - максимальное количество символов, вводимых в текстовом поле;

value - значение, отображаемое в текстовом поле по умолчанию;

 

Чтобы создать в форме поле для ввода паролей, достаточно указать

type="password" вместо type="text".

 

Флажки (checkboxes) используются в ситуациях, когда пользователь выбирает один или несколько вариантов из готового набора - по аналогии с тем, как ставятся "галочки" в анкетах.

 

Синтаксис определения флажка:

<input type="cheskbox" name="имя_переменной" value="начальное_значение">

 

Определение флажка включает три атрибута:

type - тип элемента (для флажков - checkbox);

name - имя переменной, в которой сохраняются введённые данные (в данном случае - состояние элемента);

value - значение, присваиваемое переменной по умолчанию. Если флажок установлен, именно это значение будет присвоено переменной с указанным именем. Если флажок не установлен, значение атрибута value не используется.

 

Раскрывающийся список

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

 

Синтаксис определения раскрывающегося списка:

<select name="имя_переменной">

<option value="имя_переменной1">

<option value="имя_переменной2">

"option value="имя_переменной3">

.........................................................

<option value="имя_переменнойN">

</select>

 

Определение раскрывающегося списка включает два атрибута:

name - имя переменной, в которой сохраняются введённые данные (в данном случае - строка, выбранная в списке);

value - значение, отображаемое в списке по умолчанию.

 

Далее приводится текст HTML кода (программа Lab3_3.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>Lab3_3</title>

</head>

<h1> Пример форм в HTML </h1>

 

 

<body>

<!--1-я форма-->

<form

<label for="name"> Ваше имя </label>

<input type="text" name="Name" value="Вася" maxlengf="20" size=30><br>

 

<input type="reset" value="Очистить форму">

</form><br>

 

<!--2-я форма-->

<form

label for="name"> Введите пароль </label>

<input type="password" maxlengf="10" size=30><br>

 

<input type="reset" value="Сброс пароля">

</form><br>

 

<form

label for="name1"> Ваши интересы </label><br>

<input type="checkbox" name="name1" value="Comp"> Компьютеры<br>

<input type="checkbox" name="name1" value="Sport" > Спорт<br>

<input type="checkbox" name="name1" value="Art" > Искусство<br>

 

</form><br>

 

<!--Раскрывающийся список 1-->

<select name="SP">

<option value="SP1" >Базы данных

<option value="SP2" >Операционные системы

<option value="SP3" >Организация ЭВМ

<option value="SP4" >Сети ЭВМ

</select><br><br>

 

<!--Раскрывающийся список 2-->

<select name="SPP">

<option value="SPP1" >1-й урок 9.00 - 9.45

<option value="SPP2" >2-й урок 10.00 - 10.45

<option value="SPP3" >3-й урок 11.00 - 11.45

<option value="SPP4" >4-й урок 12.00 - 12.45

<option value="SPP5" >5-й урок 13.00 - 13.45

</select><br><br>

</body>

</html>

Рис. 3.23. Программа Lab3_3.php, реализующая различные формы средствами HTML.

 

Кнопка для загрузки файлов (browse)

Служит для реализации загрузки файлов на сервер. Объект browse начитается с парных тегов <form></form>. Начинающий тэг <form> содержит необходимый атрибут encrypt. Атрибут encrypt принимает значение multipart/form-data, который извещает сервер о том, что вместе с обычной информацией посылается и файл. При создании текстового поля также необходимо указать тип файла – “file”.

 

Синтаксис описания browse (Кнопка обзор)

<form enctype="multipart/form-data" action="upload.php" method="post">

Загрузить файл: <input name="my_file" type="file">

<input type="submit" value="Отправить">

</form>

 

Пример использования подобной конструкции рассмотрен в лабораторной работе в теме 9.

 

Ниже приведен еще один пример формы представленный в файле Lab3_4.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>Lab3_4 Anketa</title>

 

</head>

<body bgcolor="#ffffff" text="#000000" link="#cbda74"

vlink="#808040" alink="f808040">

<?

// Все кавычки внутри $form должны экранироваться,

// в противном случае произойдет ошибка.

$form = "

<form action=\"Lab3_4.php\" method=\"post\">

<input type=\"hidden\" name=\"seenform\" value=\"y\">

<b>Введите информацию!</b><br>

Ваше имя :<br>

<input type=\"text\" name=\"name\" size=\"20\" maxlength=\"20\" value=\"\"><br>

Ваш Email:<br>

<input type=\"text\" name=\"email\" size=\"20\" maxlength=\"40\" value=\"\"><br>

<input type=\"submit\" value=\"Отправить\">

</form>";

// Если форма ранее не отображалась, отобразить ее.

// Для проверки используется значение скрытой переменной $seenform.

if ($seenform != "у"):

//print " форма ранее не отображалась ";

print "$form";

else:

print "Ввели. $name!. Your email address is $email";

endif;

?>

 

</body>

</html>

 

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