Приднестровская поддержка XOOPS
Доступ к значениям формы в РНР можно получить с помощью специальных массивов. Массивы $_GET и $_POST содержат значения, отправленные, соответственно, методами GET и POST. Гибридный массив $_REQUEST содержит значения из обоих массивов, а также значения массива $_СООКIЕ, который рассматривается в уроке 14, "Данные cookies и сеансы".
Доступ к значениям элементов формы интуитивно понятен. Элементу формы с определенным именем соответствует элемент массива $_GET или $_POST с соответствуюим ключом. А значение этого элемента соответствует введенному пользователем значению для этого элемента.
Например, почтовый адрес из странички comments.html содержится в элементе $_POST[ "email"], а текст комментария — в $_POST [" comments"].
Для типов CHECKBOX и RADIO атрибут VALUE определяет значение, которое получит РНР. Если установить флажок may„contact, элемент $_POST[ "may_contacts"] будет содержать значение Y. Если же этот элемент оставить не уcтановленным, он вообще не появится в соответствующем массиве. Поэтому нужно использовать функцию isset, чтобы узнать о том, установлен ли флажок.
Группа переключателей gender создает элемент $_POST["gender"], который содержит значение m или f, d зависимосги от выбранного значения. Если ни один из переключателей не отмечен, как и в случае с флажком, соответствующий элемент не создается вообще.
С помощью функции printer_r легко увидеть все значения, полученные из формы. Для этого на ее вход подается
массив $_P0ST:
echo "<pre>";
print_r($_POST);
echo "</pre";
Это очень полезный прием отладки, который позволяет видеть все данные, которые сценарий получает из формы.
Если создать файл send_comment.php и поместить в него код, приведенный выше, на экране появятся значения каждoro элемента формы. Вот пример вывода:
Array
(
[name] => Иван
[email] => ivan@mail.ru
[gender] => m
[referrer] => search
[may_contact] => y
[comments] => Мой любимый сайт
)
Даже значение кнопки подачи формы можно увидеть в PHP.. Для этого нужно задать имя и отправить форму,
щелкнув на нужной кнопке. Следующая форма содержит две кнопки с разными именами, а РНР позволяет определить, какая из них отправила форму:
<form action="button.php" method=post>
<input type="submit" name="button1" value="Кнопка 1">
<input type="submit" name="button2" value="Кнопка 2">
</form>
В button.php можно использовать следующую проверку для того, чтобы определить, на какой кнопке сделан щелчок:
if (isset($_POST["button1"])) {
echo "Вы нажали кнопку 1";
}
elseif (isset($_POST["button2"])) {
echo "Вы нажали кнопку 2";
}
else {
echo "Я не знаю, какую кнопку вы нажали";
}
Атрибут VALUE кнопки подачи формы задает текст на кнопке, а также передается в РНР, когда щелкают на этой
кнопке.
Отправитель | Нити |
---|
3 пользователь(ей) активно (1 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 3 далее... |