Букварь по PHP и MySQL.Работа с формами.

Недорогой но высококачественный сайт. Такое может быть? Да. У нас может быть всё. Достойное качество по доступной цене.
С точки зрения нашей студии создание сайта недорого значит, прежде всего, отменно, технологично и потом уже - недорого.
Удаленная форма работы с клиентами оптимизирует наши расходы и мы можем делать сайты по всему миру. Вам совсем не нужно приезжать к нам. Мы сэкономим Ваше время и средства.

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


Этот документ создан на основе компиляции нескольких документов, авторами которых являются перечисленные на титульной старнице люди, а также на основе перевода с английского страниц-учебников, которые в обилии можно встретить на многочисленных Web-узлах в Интернете, посвященных программированию на PHP и связи его с MySQL. Данный труд не ставит целью заменить собой мануалы по PHP и MySQL. Дело в том, что большинство материалов, в том числе и руководства к данным программным продуктам пока распространяются на английском языке. Качественные пособия на русском языке встречаются редко. Данный букварь просто поможет вам сделать первые шаги в изучении PHP и способах взаимодействия его с БД MySQL. Буду рад, если в этой книге вы найдете ответы на свои основные вопросы. Труд еще не закончен и будет пополнятся и улучшаться

                    




Работа с формами

В этом примере показано, как в PHP легко обрабатывать данные, полученные от HTML-форм. Для понимания этой главы от вас требуются крепкие знания языка HTML и принципа работы HTML-форм и а также понимания разницы двух методов передачи данных в них (GET И POST).

Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге посетитель вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо опрос пользователь, аналогично, устанавливает значение определенных полей формы.

Напомню, какие тэги и атрибуты должна содержать форма:

<FORM NAME="имя_формы"

ACTION="путь_к_обработчику"

METHOD="метод_передачи_переменных">

поля ввода...

</FORM>

Цветом выделены те элементы, которые пригодятся нам в этом опыте. Прежде всего разберемся, что такое "обработчик". Это скрипт на сервере, в который будут переданы значения полей ввода.

Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением.

Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:

http://site.domain/action.htm3?имя=значение&...имя=значение

Пары "имя=значение" создаются для каждого элемента ввода, для которого указано имя атрибутом NAME.

В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам, в общем-то, не интересен. Просто примем к сведению, что значения передаются "незаметно" для обычного пользователя.

При исполнении скрипта на языке PHP создаются переменные с именами, соответствующими именам полей и содержащие соответствующие значения.

Предположим, что мы создали форму следующего вида:

<FORM ACTION="mult.htm3" METHOD="GET">

<INPUT TYPE="text" NAME="first" SIZE="4" MAXLENGTH="4">

<INPUT TYPE="text" NAME="second" SIZE="4" MAXLENGTH="4">

<INPUT TYPE="Submit" VALUE="Умножить">

</FORM>

Скрипт, содержащийся в файле mult.htm3 может выглядеть следующим образом:

<?php

Header("Content-type: text/html");

echo "$first умножить на $second получится ", $first*$second;

?>

Как видим, все довольно просто.

Необходимо напомнить, что существует специальный тип поля HIDDEN. Это поле, которое не выводится на экран, но, если ему присвоено имя атрибутом NAME, значение егопередается в форму. Это бывает полезно, например, когда один обработчик может производить не одно, а несколько действий. С помощью такого поля мы можем задать тип действия, которое мы хотим произвести с данными формы.

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

Тип Описание Вид

TEXT Поле ввода текста

SELECT Выбор из списка.

RADIO Радио-кнопка. Используется для выбора одного из предложенных вариантов.

CHECKBOX Кнопка-флажок. Используется для выбора варианта.

SUBMIT Кнопка, которая инициирует вызов обработчика формы.

IMAGE Изображение. Используется как кнопка типа SUBMIT

<TEXTAREA> Область ввода текста.

Теперь рассмотрим, как значения и состояния этих элементов передаются в обработчик.

TEXT - здесь все просто. Введенное значение передается в виде: имя=значение (для удобства будем

предполагать, что метод передачи значений установлен в GET). В обработчике значение можно получить из

переменной $имя.

SELECT - значение берется из атрибута VALUE выбранного элемента <OPTION>. Например для <SELECT>

такого вида:

<SELECT NAME="mySelect">

<OPTION VALUE="test1">test1</OPTION>

<OPTION VALUE="test2">test2</OPTION>

<OPTION VALUE="test3">test3</OPTION>

</SELECT>

Cтрока будет содержать mySelect=test1, в случае выбора первого элемента списка. Переменная в скрипте будет выглядеть так: $mySelect.

Элемент <SELECT> может иметь атрибут MULTIPLE, что позволяет выбирать несколько значений из списка. В этом случае к имени элемента <SELECT> необходимо добавить пару квадратных скобок: имя[]. Строка будет выглядеть так: имя[]=значение&имя[]=значение..., а в скрипте доступ к выбранным значениям можно осуществить, как к элементам массива $имя.

В случае, если не заданы атрибуты VALUE, то передаваться будет то, что содержится между тэгами <OPTION> и </OPTION>.

RADIO - Здесь значение будет браться из атрибута VALUE, строка выглядит аналогично элементу типа TEXT.

Доступ из скрипта, тоже аналогичен. Если вы забыли установить это значение, то будет передано значение on CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вообще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.

SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значениев обработчик. Я не могу себе представить зачем это нужно, но тем не менее. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.

IMAGE - Самый интересный элемент. В обработчик передаются два значения: имя.x и имя.y, которые представляют собой координату указателя мыши относительно верхнего левого угла изображения. Строка выглядит следующим образом: имя.x=значение&имя.y=значение. В скрипте устанавливаются переменные $имя_x и $имя_y.

<TEXTAREA> - абсолютно аналогично элементу типа TEXT.

При пересылки строковых значений они перекодируются специальным образом. Все символы, кроме алфавитно-цифровых и знака подчеркивания "_" заменяются знаком процента "%" и двумя

шестнадцатеричными цифрами кода. Пробелы заменяются на знак "+". При установке переменных в скрипте производится обратное декодирование.

PHP предоставляет еще одну интересную особенность. Мы можем каждому элементу присвоить имя переменной массива. Например:

<FORM NAME="testForm" ACTION="test.htm3">

name: <INPUT TYPE="text" NAME="personal[name]"><BR>

e-mail: <INPUT TYPE="text" NAME="personal[email]"><BR>

<INPUT TYPE="SUBMIT">

</FORM>

В этом случае мы сможем получить доступ к значениям, обращаясь к элементам ассоциативного массива: $personal["name"] и $personal["email"].

Кроме того, если включена директива PHP <?php_track_vars?>, то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик

Вызов формы самой на себя.

Александр Качанов (kachanov@ogs.gomel.by)

Вадим Ткаченко (vvtk@stealthcomp.com) (http://web.stealthcomp.com)

Андрей Головин (mine@convex.ru) (http://exper.ural.ru)


   Почти всегда целью создания сайта является получение прибыли, которая в свою очередь, зависит от его внешнего вида. Статистика говорит, что около 94% людей, при выборе товара, сначала обращают внимание на упаковку, а потом уже на её содержимое. И если эта упаковка не привлекательная и безвкусная, мало кто обратит на нее внимание, и, соответственно, товар не будет пользоваться спросом.
   В случае с интернет, “упаковкой” выступает ваш сайт, а “товаром” - его контент. Если сайт выглядит непривлекательно, то каким бы ценным и нужным не было его содержимое, люди будут обходить его стороной. Наша задача - сделать ваш сайт привлекательным и удобным, чтобы люди чувствовали себя уютно и комфортно, чтоб они возвращались к вам еще и еще. Соответствие между ценой и качеством вас, несомненно, порадуют.
.
   Мы делаем сайты для бизнеса, а не красочную картинку, которая увешена тяжеловесными флэшами и огромными фотографиями.
   Пользователя, когда он попадает на абсолютно любой сайт, прежде всего интересует информация, затем, как реализовать на этом сайте полученную информацию, чтобы было удобно и просто (юзабилити), подбор цветовой гаммы, расположение блоков на странице и многое другое.

   Перед тем, как заказывать создание сайта, рекомендуем прочесть статью А зачем мне (нам) сайт? или Что нужно знать заказчику сайта
Да и вообще, обратите внимание на раздел Статьи о продвижении сайта и бизнеса там вы найдёте ответы на многие вопросы.