Переменные формы
В конечном счете данные из сценария попадают в PHP-переменные. Имена переменных в РНР легко узнать, поскольку все они начинаются с символа доллара ($).
(Пропуск символа доллара — еще одна распространенная ошибка профаммирования.)
Существуют два способа доступа к данным формы через переменные.
В этом примере и во всей книге для ссылки на переменные формы используется
сокращенный стиль. В данном случае имена переменных в сценарии совпадают с именами в HTML-форме. Так всегда происходит при сокращенном стиле. Переменные не обязательно объявлять в сценарии, поскольку они передаются в сценарий по существу так же, как аргументы передаются в функцию. При использовании этого стиля можно, например, просто начать работать с переменной, скажем, $tireqty, как и было сделано перед этим.
Второй стиль заключается в получении переменных формы через один из двух массивов, хранящихся в переменных $HTTP_POST_VARS и $HTTP_GET_VARS. Один из этих массивов будет содержать подробную информацию о всех переменных формы. Выбор используемого массива зависит от метода отправки формы: POST или GET.
В рамках этого стиля для доступа к данным, введенным в поле формы tireqty в предыдущем примере, следовало бы использовать выражение пользователем, легко доступны в файле $HTTP_POST_VARS [" tireqty" ].
Сокращенный стиль можно применять только при установке в значение "On" директивы register_globals в файле php.ini. Это — настройка по умолчанию в стандартном файле php.ini.
Если же необходимо, чтобы директива register_globals была установлена в значение
“Off”, придется воспользоваться вторым стилем. При этом придется также установить
в значение "On" директиву track vars.
Более длинный стиль обеспечит более быстрое выполнение и предотвратит создание
переменных, которые могут оказаться лишними. С другой стороны, сокращенный стиль
проще читать и применять; к тому же он совпадает со стилем, используемым в предыдущих версиях РНР.
Оба эти метода аналогичны методам, используемым в других языках создания сценариев, например, Perl, и могут выглядеть знакомо.
Несложно было заметить, что на этом этапе не проверяется содержимое переменных на предмет корректного ввода важных данных в каждом из полей формы. Попытайтесь ввести заведомо неверные данные и посмотрите, что при этом произойдет.
После изучения всей главы, возможно, вы сумеете включить в сценарий код, выполняющий определенную проверку данных.
|