Не забывать, что в echo значение из массива выводить без апострофов и кавычек!!

Лекция 8. Продолжение л.р. №1. Формы ввода.

Передача переменных с помощью форм ввода.

Теперь познакомимся с возможностями вводить параметры. Для этого предусмотрены формы, которые добавляются в документ при помощи парного тега <forms> и </forms>

Тег имеет следующие параметры:

· Action – задает адрес программы обработки формы

· Method – определяет, как данные будут пересылаться от формы до Веб-сервера.

Get –данные пересылаются путем добавления к адресу после знака ?

POST –предназначен для передачи данных большого объема и паролей в тексте сообщения.

· Name –задает имя формы.

Тег <input> позволяет вставить в форму элементы управления, например, текстовое поле, кнопку или флажок. Этот тег имеет следующие параметры.

· Type – задает тип элемента. В зависимости от значения этого параметра задаются следующие элементы формы.

Ø Text –текстовое поле ввода;

Ø Password –текстовое поле для ввода пароля, в котором все вводимые символы заменяются звездочкой;

Ø Hidden – скрытое поле, которое не показывается, но может хранить параметр, отправляемый на сервер при нажатии кнопки submit.

Ø Checkbox – поле для установки флажка, который можно установить или сбросить;

Ø Radio – элемент переключатель ( иногда называется радио-кнопками)

Ø Reset –кнопка, при нажатии которой все ранее введенные в форму значения очищаются;

Ø Submit –кнопка, при нажатии которой происходит передача данных на value

Ø Date – поле для выбора даты. На данный момент существует несколько значений атрибутов для выбора даты:

date - обычный выбор даты, как в календаре (день, месяц, год).
month - выбор лишь месяца, но показывается год и месяц.
week - выбор лишь номера недели, но показывается год и номер недели.
time - выбор часа:минуты.
datetime - совмещенный выбор даты плюс выбор часа:минуты.
datetime-local - показ локальной даты и часа:минуты.

 

· Name –задает имя элемента управления, которое становится индексом в глобальных ассоциированных массивах.

Для каждого элемента управления можно задать набор специфичных параметров. Будем рассматривать их отдельно по мере необходимости.

Для первого примера рассмотрим 3 поля.

Текстовое поле и поле ввода пароля.

<input type=text name=Pole1 id= Pole1 value=MyLogin maxlength=100 size=20>

Здесь value задает значение поля по умолчанию, maxlength –максимально допустимый размер поля, size –видимый размер поля.

Кнопки Reset и Submit.

<input type=reset value=Очистить>

Здесь value задает текст, отображаемый на кнопке.

Изменим теперь условие для л.р.1

1. Будем вводить не порядковый номер, а id книги

2. Ввод исходных данных будем осуществлять через форму ввода.

Для переменных в РНР, что NULL, что 0 - все едино!!!

Не забывать, что в echo значение из массива выводить без апострофов и кавычек!!

Начнем с создания такой формы.

<html>

<head> <title> Тестовая форма ввода </title></head>

<body bgcolor = silver text = green>

<h2 align = center> Введите </h2> <br>

<hr size=2 width=90% color = green> <!-- Линия подчеркивания -->

<form action ="" method=get>

<div align=center>

Id книги

<input type=text name=nom > <br> <br><br> <br><br>

<table border=0 width=80%>

<tbody>

<tr>

<td align=center> <input type=reset name=erase value= Очистить > </td>

<td align=center> <input type=submit name=send value= Отправить> </td>

</tr></tbody> </table>

<br><br><br><br>

<a href="?out=1"> Нажмите для выходa из системы </a><br><br><br><br> </div> </form> </body> </html>

Теперь контроллер.

<?php

$items = array(

array('id' => 11, 'desc' => 'Русско-английский словарь', 'price' => 24.95),

array('id' => 12, 'desc' => 'Путеводитель по Китаю', 'price' => 13.28),

array('id' => 13, 'desc'=> 'Программирование на PHP', 'price' => 18.80),

array('id' => 14, 'desc' => 'Книга для души', 'price' => 100.20));

if (isset($_GET['out']))

{ include 'goodbye.php';

exit(); }

If (!isset($_GET['send']))//Кнопка send не нажималась

{ include 'Form_book1.html';

exit(); }

else // Кнопка send нажата

if ($_GET['nom'] == NULL) //Параметр для поиска не определен

{

$output="Вы забыли ввести id книги <br><br>";

include 'forget.php';

exit(); }

else //Параметр задан

{

$nom = $_GET['nom'];

for ($count = 0; $count <= 3; ++$count)

{

$book = $items[$count]; // строка массива - одномерный массив

if ($book['id'] == $nom)

$nom1 = $count;// запомнили введенное id }

if (isset($nom1))// В цикле for найдена строка , соответствующая введенному id книги

{

$book = $items[$nom1];

include 'output.php';

exit(); }

else // Введенного id не существует

{

$output= " Книги с таким id не существует <br> <br> <br>";

include 'forget.php';

exit();

}}

?>

Скрытое поле hidden

<input type=hidden name=Pole1 value=1>

Здесь value задает передаваемое значение

 

Поле установки флажка

<input type= checkbox name=r1 value=1 > Значение 1

 

Можно выбрать одновременно несколько элементов. Для этого их необходимо объединить в группу.

 

<input type=checkbox name=check1[] value=1> A1 <br>

<input type=checkbox name=check1[] value=2>A2 <br>