PHP

Формы

Формы - это средство передачи информации от пользователя лежащему на сервере скрипту. Скрипт полученную информацию обработает и что-нибудь выдаст. Или сделает. Для начала разберемся с формой для поиска на сайте. Код примера:

<?php
?>
<form action='script.php' method=GET><input type=text name=inf size=12><input type=submit value=Поехали!></form>

Обратим внимание: первое - в тэг открытия формы вписана строка:

action='script.php' method=GET

в которой action определяет файл скрипта, обрабатывающего информацию из формы, а method определяет способ передачи данных из формы. Второе:

<input type=submit value=Поехали!>

а это - просто кнопка, при нажатии на которую данные из формы поплывут к скипту. Значение value - что на этой кнопке будет написано. Сохраним этот файл в папке 'www' под именем form.php. И теперь сделаем скрипт, который будет принимать данные. Код этого скрипта:

<?php
$inf=$_GET['inf'];
echo "Получен запрос : ".$inf;
?>

Первая строка скрипта берет значение поля ввода из формы и сохраняет его в переменную $inf, вторая - выводит эту переменную с комментарием на страницу. Сохраняем этот код под именем script.php в той же папке. В адресной строке обозревателя набираем www.first/form.php, пишем что-нибудь в поле ввода формы и жмем на кнопку. Получилось? Похоже на это? Посмотрим, что появляется а адресной строке обозревателя при нажатии на кнопку. Заметили? Введенный текст присоединяется к адресу скрипта. Это особенность метода GET. Чтобы не светить передаваемым текстом, можно пользоваться другим методом - POST, который чаще используют для передачи больших объемов информации. Заменим в форме и скрипте GET на POST. Код формы после замены:

<?php
?>
<form action='script.php' method=POST><input type=text name=inf size=12><input type=submit value=Поехали!></form>

и скрипта:

<?php
$inf=$_POST['inf'];
echo "Получен запрос : ".$inf;
?>

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

<?php
?>
<form action='script.php' method=POST><input type=text name=inf size=12><input type=image src='go_r.ico' hspace=3></form>

Рисунок задаетмся как обычно, hspace=3 задает расстояние от поля ввода до левого края картинки. Проверим, как работает. И последнее: форму можно сформировать динамически, задать ее сначала как переменную, а потом в нужный момент и выдать. Вот так:

<?php
$form=<form action='script.php' method=POST><input type=text name=inf size=12><input type=image src='go_r.ico' hspace=3></form>";
echo $form;
?>

Посмотрим, попробуем найти отличия от предыдущего примера. Кстати, во всех приведенных примерах у формы отсутсвовал атрибут name. Это допустимо, если форма на странице одна. Ну, а у нас так и было. Займемся организацией поиска на сайте.

Рейтинг@Mail.ru