PHP :: Простая отправка текстовых данных
Как было показано ранее в курсе HTML, для отправки пользовательских данных на сервер используются формы. В данном параграфе мы рассмотрим данный вопрос подробнее.
Внимательно посмотрите на код формы, представленный в примере №1.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Отправка простых текстовых данных</title> </head> <body> <form action="example_10_2.php" method="POST" name="form_10_1"> Введите имя <input type="text" name="first_name"><br><br> Введите фамилию <input type="text" name="last_name"><br><br> Предпочитаете <input type="radio" name="user_choice" value="овощи" checked>овощи <input type="radio" name="user_choice" value="фрукты">фрукты<br><br> <button type="submit" name="submit" value="send">Отправить</button> </form> </body> </html>
<?php //Чтобы не усложнять пример, будем считать, что все данные были введены //Достаем полученные данные из суперглобального массива $_POST //и присваиваем их переменным для удобства использования $first_name = $_POST["first_name"]; $last_name = $_POST["last_name"]; $user_choice = $_POST["user_choice"]; //Выводим сообщение echo $first_name.' '.$last_name.' любит '.$user_choice; ?>
Пример №1. Форма для отправки простых текстовых данных
Атрибут action формы устанавливает обработчик данных формы на сервере. При этом путь к php-файлу может быть указан как абсолютным, так и относительным. В нашем случае скрипт находится в той же папке, что и веб-страница с формой.
Атрибут method определяет метод запроса на сервер: POST или GET. Однако учитывая то, что формы зачастую используются для отправки конфиденциальных данных пользователей, а также файлов, практически всегда используется метод POST.
Что касается атрибута target то, если он в форме не указан (наш случай), возвращаемый результат будет отображаться в текущем окне.
Каким же образом данные из формы передаются на сервер? Все очень просто, они отправляются в виде пар name=value, где name – значение атрибута name, а value – значение атрибута value, которое может быть установлено заранее (например, для кнопок) или же принимать значение в зависимости от введенных пользователем данных. После отправки данных формы на сервер методом POST, они становятся доступны php-скрипту через суперглобальный ассоциативный массив данных $_POST, а при отправке методом GET – через суперглобальный ассоциативный массив данных $_GET. Кроме того, данные можно получить и через суперглобальный ассоциативный массив данных $_REQUEST, который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE. Отметим, что посмотреть все предопределенные переменные, основная масса которых представляет собой такие суперглобальные массивы, можно в официальном справочнике в разделе «Руководство по PHP» -> «Справочник языка» -> «Предопределенные переменные».
Обратите внимание, что при использовании для передачи данных кнопок или флажков, данные не вводятся, а выбираются. Поэтому у таких элементов заранее указывается атрибут value, значение которого в случае выбора и будет отправлено на сервер.
Пусть, например, обработчик на сервере имеет код, показанный в примере №1. Тогда при вводе в текстовые поля формы значений 'Иван' и 'Бочкин', а также выборе варианта 'фрукты', при успешной отправке и обработке данных нашей формы мы увидим на экране строку 'Иван Бочкин любит фрукты'.
Быстрый переход к другим страницам
- Определение прав доступа к файлам и папкам в PHP
- Простая отправка текстовых данных в PHP
- Передача текстовых данных в массивах в PHP
- Вернуться к оглавлению учебника