Среда, 24.04.2024, 15:21 | Приветствую Вас Гость

ПЕРВЫЙ ИНФОРМ РУНЕТ

Урок 11: Заканчиваем разбираться с формами

Нам осталось разобрать три элемента формы. Давайте по-порядку:

<form name="primer6" method="post" action="obrabotchik.php">
<p>Выберите способ доставки:</p>
<p>
<select name="dostavka" size="1">
<option value="srochnaya" > Срочная </option>
<option value="ne srochnaya" selected> Не срочная </option>
<option value="kurierom"> Курьером </option>
</select>
</p> 
</form>

Результат:

Выберите способ доставки:

Базовым элементом здесь является SELECT(выбор) . У него обязательно должен быть закрывающий тег! Внутри него содержатся элементы OPTION(опции выбора) . Как вы поняли, без элементов option элемент select потеряет смысл, т.к. выбирать будет не из чего :)

Как видите, у элемента SELECT есть уже знакомый нам атрибут name , а у элементов OPTION тоже знакомый нам атрибут value (в элементе select это не обязательный атрибут) . Они нужны для того, чтобы обработчик мог идентифицировать выбранный вариант.

Например мы выбираем способ доставки - Срочная. Тогда переменная dostavkaпримет значение srochnaya. Если б не было значения value="srochnaya" то переменная dostavka приняла бы значение Срочная (т.е. значение текста заключенного в элемент option).

 

Атрибут SIZE задает количество одновременно видимых пунктов меню. В нашем случае это 1.

Атрибут флаг SELECTED означает что данное значение, будет выбрано по умолчанию.

Можно также сделать, чтобы имелась возможность выбора нескольких пунктов меню при удержании клавиши Ctrl. Для этого используется атрибут-флагMULTIPLE .

<form name="primer7" method="post" action="obrabotchik.php">
<p>Выберите способ доставки:</p>
<p>
<select name="dostavka" size="3" multiple >
<option value="srochnaya" > Срочная </option>
<option value="ne srochnaya"> Не срочная </option>
<option value="kurierom"> Курьером </option>
</select>
</p> 
</form>

Результат:

Выберите способ доставки:

В теории это не сильно хорошо излагается, так что просто внимательней анализируйте приведенные примеры и будет Вам счастье :)

Давайте разберем следующий элемент:

<form name="primer8" method="post" action="obrabotchik.php">
Введите адрес для доставки:<br>
<textarea name="adress" cols="45" rows="5"></textarea>
</form>

Результат:

Введите адрес для доставки:

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

Какие атрибуты у него есть? да знакомый нам атрибут name который поможет идентифицировать заполненное поле на сервере. Как видите здесь нигде нету параметра value, т.к. в качестве значения обработчику посылается текст, который мы введем в текстовое поле.

Атрибуты COLS и ROWS определяют ширину и высоту поля. К примеру cols="45" rows ="5" означает что ширина будет 45 колонок, а высота 5 рядов. Колонки и ряды естественно формируются из символов. Т.е. ширина 25 колонок, означает ширину в 25 символов, разобрались? думаю , что да.

 

И наконец мы добрались до кнопок:

<form name="primer8" method="post" action="obrabotchik.php">
<input type="submit" value="Сделать заказ">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" value="Отмена">
</form>

Результат:

        

Для создания кнопок используется уже знакомый нам элемент INPUT . Если необходимо создать кнопку, которая будет отправлять данные обработчику, то пишем type="submit"(тип-отправить), а если хотите чтоб кнопка выполняла функцию сброса то type="reset" . Вот и все!

Атрибут value указывает на то, что будет написано на кнопке. Вас еще может напугать строка &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - это 6 пробелов подряд(это так называемые специальные символы html) я просто их поставил чтобы разделить кнопки! Все спец. символы есть у меня на сайте.

Теперь Мы всё умеем! следующий урок будет последним. там я дам вам обработчик для тренировки и расскажу как пользоваться.

Урок 12: Смотрим форму в действии

В этом уроке я, как и обещал, дам вам простейший обработчик и расскажу как протестировать форму.

Будем тестировать вот такую форму.

Введите ФИО:
 

Введите пароль:
 

Какой диск вы хотите получить?

 CD
 DVD

Какие обучающие курсы вы хотите видеть на диске?

 Курсы по Фотошопу 
 Курсы по Adobe Dreamweaver 
 Курсы по PHP

Выберите способ доставки:

 


Введите адрес для доставки:

        

 

Исходный html код формы:

<form name="zakaz_diska" method="post" action="obrabotchik.php">
<p>
Введите ФИО:<br>
<input type="text" name="fio" >
</p>
<p>
Введите пароль:<br>
<input type="password" name="pass">
</p>


<p> Какой диск вы хотите получить? </p>
<p>
<input name="disc" type="radio" value="CD" checked>
CD<br>
<input name="disc" type="radio" value="DVD">
DVD 
</p>


<p> Какие обучающие курсы вы хотите видеть на диске? </p>
<p>
<input type="checkbox" name="photoshop" value ="Да" checked>
Курсы по Фотошопу
<br>
<input type="checkbox" name="dreamweaver" value ="Да">
Курсы по Adobe Dreamweaver
<br>
<input type="checkbox" name="php" value ="Да">
Курсы по PHP
</p>


<p>Выберите способ доставки:</p>
<p>
<select name="dostavka" size="1">
<option selected> Срочная </option>
<option > Не срочная </option>
<option > Курьером </option>
</select>
</p> 


<p> Введите адрес для доставки:<br>
<textarea name="adress" cols="45" rows="5"></textarea>
</p>


<p>
<input type="submit" value="Сделать заказ" width="20">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" value="Отмена ">
</p>
</form>

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

Разобрались? теперь давайте протестируем Вашу форму, чтоб вы лучше поняли принцип.

Для этого Нам понадобится локальный сервер - это специальная программа, которая позволяет обрабатывать скрипты . Она нужна для отладки сайтов которые делаются на php(и других языках) у себя на локальном компьютере(а не на сервере в интернете). Поэтому не помешает научиться ее устанавливать если дальше собираетесь делать серьезные сайты.

Скачайте эту программу, запустите и следуйте инcтрукциям установщика. Единственное, по ходу установки нужно будет выбирать между первым и вторым режимом. По умолчанию идет первый, но мой Вам совет - используйте второй режим. После установки, у Вас на рабочем столе должны появится три ярлыка - Start Denwer, Stop Denwer, Restart Denwer(запуск, остановка и перезапуск сервера).

Запустите сервер (Start Denwer) . После этого должен создаться виртуальный диск. Если Вы создавали во втором уроке свою первую страничку так, как я говорил, то у Вас должна быть папка obuchenie_html а внтури папка www, а внтури нее страничка index.htm в которую вы наверное уже вставили форму приведенную выше(не забудьте, что форма должна быть в теле документа!). Однако во втором уроке, мы работали с html, тут же мы будем работать с php, поэтому ситуация немного меняется. Чтобы php 100% работал, нужно обязательно нашу страничку с формой вставить в Z:\home\localhost\www т.е. на диск Z, в папку www , которая находится в папке localhost.

В итоге, у нас должно получиться следующее: папка obuchenie_html , внутри которой лежит файл с формой . Причем папка obuchenie_html лежит внутри папки www , которая в свою очередь лежит внутри папки localhost. Вот как выглядит путь : Z:\home\localhost\www\obuchenie_html\index.html , где index.html файл с формой.

Теперь осталось скачать здесь архив с обработчиком. Этот архив самораспаковывающийся, т.е. его надо просто запустить и он сам распакуется. Внутри него будет лежать файл обработчика obrabotchik.php. Его мы тоже копируем и помещаем в ту же папку где и наша страничка с формой.

Теперь запускаем локальный сервер (Start Denwer) и в строке браузера пишем:http://localhost/obuchenie_html . Появиться наша форма, которую можно заполнить и проверить.

Это самый простой обработчик, который просто выводит на экран данные заказа. Это чисто чтоб вы поняли как все происходит. После заполнения всех полей формы и нажатия кнопочки заказа , должно появиться что-то типа:

пример работы формы

Т.е. данные из одного документа полетели в другой и это наглядно видно. Так же само, можно сделать чтоб обработчик сразу отсылал данные о заказе на е-маил, или записывал их в базу данных и.т.д.

Вот и закончили обучение HTML

Меню сайта
Форма входа