Поля для ввода текста в формы.

В саму оболочку HTML-формы между тегами <form> и </form> вставляются кнопки для отправки или очищения данных, кнопки для подтверждения выбора, переключатели, выпадающие списки и поля для ввода данных, последними как раз займемся сейчас.

Тег <input> обозначает поле для ввода текста, этот тег может принимать следующие атрибуты:
<input type="text" name="login" value="введите логин" size="20" maxlength="5">
результат:
type атрибут тега input, который указывает тип поля, в данном случае он не обязателен, с точки зрения спецификации по HTML это значение(text) по умолчанию, но лично я советую его вставлять всегда.
name это очень важный атрибут и является обязательным!!! Он является кодификатором данного поля, сценарии как раз и ждут имена полей с каким-то значением. Имя этого атрибута может начинаться только с латинской буквы и заканчиваться ними, между буквами может использоваться дефис.
value атрибут который обозначает значение поля, или точнее значение атрибута name, эти атрибуты всегда отправляются в сценарий парой, name=value или login=ваш_логин. Этот атрибут не является обязательным, и вставляется только для того что-бы в поле отображался какой либо текст, в моем примере введите логин.
size этот атрибут не является обязательным, и устанавливает только количество символов для отображения, в моем примере 20, а ввести можно и 1000, но отображаться будут только 20. Кстати 20 задавать нет смысла т.к. это значение по умолчанию, используйте этот атрибут если вам нужно больше или меньше 20 символов для отображения.
maxlength этот атрибут служит для ограничение символов для ввода, попробуйте в моем примере стереть текст введите логин и набрать больше 5, и у вас это не получится!!! Представите что кто-то скопирует текст какой либо книги и вставит в поле где должен быть логин, это может круто увеличить нагрузку на ваш сервер, а с этим ограничителем у этого чудо-посетителя ничего не получится!!! Ограничивать 5 символами я вам вообще не рекомендую, желательно чтобы это значение было порядка 32 или даже 64!!!

Поле для ввода паролей
<input type="password" name="password" value="введите пароль" size="20" maxlength="32">
результат: Все те же атрибуты за исключением значения "password" для атрибута type. Это поле служит для ввода паролей или прочего текста который не должен видеть посторонний глаз.

Скрытое поле:
<input type="hidden" name="partner" value="идентификатор">
Это поле служит для отправки скрытых данных, Например, вы зарегистрировались на каком-то сайте по обмену эл.валют, как партнер и собираетесь немного заработать, для этого вы получаете партнерский код и ставите его у себя на сайте, а в скрытое поле ставите свой идентификатор(номер партнера) и после того как пользователь вашего сайта выберет направление перевода и нажмет кнопку "обменять" он вместе этими даными отправит ваш идентификатор и вы срубите пару копеек с этой операции. Это не единственная возможность для скрытого поля.

Поле для загрузки файла:
<input type="file" name="upload_file" size="50" >
Результат:
При помощи данного поля можно загрузить почти любой тип файла, картинки, архивы, музыку, видео и прочие. Если вы в форме используете это поле, то занчение атрибута enctype в теге form должно быть "multipart/form-data", чтобы браузер не кодировал, а сервер на котором лежит скрипт(сценарий) не декодировал эти файлы, т.к это может просто разрушить их.

Поле для отправки комментария:
<textarea name="mesage" rows="4" cols="55" wrap="virtual"> Текст по умолчанию </textarea>
Результат:
textarea- это тег для поля , он является парным!!!
Атрибут name вам уже известен.
rows этот атрибут устанавливает количество строчек, в моем примере 4строки.
cols а этот атрибут устанавливает количество букв в одной строке.

Это и все поля которые пользователь может заполнять самостоятельно, за исключением type="hidden" .