belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
PHP+MySQL >>>
                          Учебник Задачник Справочник

10.1. Простая отправка текстовых данных

Как было показано ранее в курсе HTML, для отправки пользовательских данных на сервер используются формы. В данном параграфе мы рассмотрим данный вопрос подробнее.

Внимательно посмотрите на код формы, представленный в примере 10.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"> 
		Введите имя  &nbsp; <input type="text" name="firstName"><br><br>
		Введите фамилию  &nbsp; <input type="text" name="lastName"><br><br>
		Предпочитаете &nbsp; 
		 <input type="radio" name="user_choice" value="овощи" checked>овощи &nbsp; 
		 <input type="radio" name="user_choice" value="фрукты">фрукты<br><br>
		<button type="submit" name="submit" value="send">Отправить</button>
	</form>
</body>
</html>

Пример 10.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, значение которого в случае выбора и будет отправлено на сервер.

Пусть, например, обработчик на сервере имеет код, показанный в примере 10.2. Тогда при вводе в текстовые поля формы значений 'Иван' и 'Бочкин', а также выборе варианта 'фрукты', при успешной отправке и обработке данных нашей формы мы увидим на экране строку 'Иван Бочкин любит фрукты'.

<?php
 //Чтобы не усложнять пример, будем считать, что все данные были введены 
 //Достаем полученные данные из суперглобального массива $_POST
 //и присваиваем их переменным для удобства использования
 $firstName = $_POST["firstName"];
 $lastName = $_POST["lastName"];
 $user_choice = $_POST["user_choice"];
  
 //Выводим сообщение
 echo $firstName.' '.$lastName.' любит '.$user_choice;
?> 

Пример 10.2. Обработка данных, переданных на сервер формой примера 10.1

Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх