Сегодня второй
третий номер рассылки. С этого номера будут
даваться задания. Выполняйте их
присылайте свои ответы на orin_mor_san@list.ru
Сегодня мы
поговорим с вами про формы и способы
работы с ними!
Итак, конструкция
формы:
<form> <!--Начало формы, где
указываются параметры-->
... <!--"Начинка" формы-->
</form><!--Конец формы-->
Давайте теперь
рассмотрим всё более или менее понятнее.
Итак, каждая форма
начинается с тега <form>, в котором
указываются главные параметры:
<form name="" action=""
method="">
В теги form мы видим
параметр name, который отвечает за имя
формы. В php этот параметр часто опускает,
но он просто незаменим в JavaScript'e. Это
значение может быть произвольным и
обязательно в транслите.
Параметр action "показывает"
форме, куда отправлять данные, введённые
в её поля. Здесь надо указать
расположение скрипта относительно
файла, в котором находится форма.
Method - один из самых
важных параметров. Он показывает способ
передачи данных. Существует два
значения: GET и POST.
Метод (method) GET
передаёт данные для обработке на
сервере.
Пример get: http://localhost/scripting1.php?login=Jura&password=123,
где показано, что в
поле с параметром name - login (будет
рассмотрено дальше) была введена
информация Jura, а в поле password - 123. Данные
отделяются от скрипта вопросительным
знаком ?, а сама информация в переданных
данных с помощью &.
Метод POST (Мой
любимый :), скрывает эти данные, и
предназначен для использования в
передаче больших текстов.
В "тело"
формы помещаются разные элементы. Вот
они:
Поле для
ввода текста. Название говорит
само за себя :)
type - это тип
поля. Для поля для ввода: text,
поле name показывает название
данного поля для ввода. Size - это
размер поля (ширина) для ввода.
MaxLength - максимальное количество
символов в поле (опускается в
большинстве случаях). Value - это
значение поля по умолчанию!
Поле для
ввода "по маске". Используется
для ввода пароля
<input type=password
name=pass size=20>
Разница от
поля для ввода текста (по структуре)
только в том, что здесь указан type - password
Многострочное
поле для ввода текста представляет
из себя многострочное поле для
ввода текста :)
<textarea rows=2
cols=20 name=memo> </textarea>
Как вы
видите построение поля для ввода
многострочного текста отличается
от input - типов. Это уже два тега -
открывающий и закрывающий. В
первом теге помещено значение: rows:
высота в строках, cols: широта в
символах. Что бы придать значение
полю для ввода надо поместить
значение между тегами. например
так: <textarea> Privet! </textarea>
В конце
таблицы пока что мы ограничимся
кнопкой, при нажатие на которую
происходит передача данных из
формы. Эта кнопка, так же
называемый Сабмитер.
<input type=submit
value="Send!!!" size=20>
Мало чем
отличается от других input - типов.
Только вот name можно не указывать, а
текст для кнопки (value='') - желательно.
Если его не указать, то нам выдаст:
Подача запроса
В шаблонах на народе.Ру
например используется так же кнопка -
стереть (<input type=reset value="Очистить
форму">), я бы вам не советовал
использовать её.
Ну, как хотите, так
и делайте! Ваше дело!
Как форма связана
с PHP???
Допустим нам надо,
чтобы пользователь ввёл своё имя и
возраст. Мы создаём форму, в которой
делаем два поля для ввода и сабмитер.
Потом создаём скрипт, который обрабатывает
данные.
Разработчики PHP
позаботились о нас!!! Помните в компонентах
- "начинке" формы было свойство name
- вот его значение и передаётся в
переменную!
Чтобы было
понятнее приведу пример.
Скрипт 2-1 form.htm
<form
action=get action=script2-2.php>
<input
type=text name=imja>
<input
type=text name=vozrast>
<input
type=submit value=Отправить>
</form>
Далее приведен
скрипт обработки данных, введенных в
поля формы:
Скрипт 2-2 script2-2.php
<?php
print "$imja";
print "! Добро пожаловать!<br>";
print "Вам ";
print "$vozrast";
print "лет!";
?>
Обратите
внимание на выделенные моменты.
Догадались в чем секрет ;)
Задание 2. Напишите
скрипт, который являлся бы приветствием
для кого-то (для того, кто ввёл своё имя в
поле)!