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



belarusweb.net

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

10.4. Использование php-скрипта и html-формы в одном файле

Во всех предыдущих примерах мы использовали по отдельности файл с формой и с обработчиком формы. Однако довольно часто в ходе разработки сайта бывает полезным совмещать в одном файле коды сразу нескольких языков (и не обязательно только HTML и PHP). Рассмотрим такую ситуацию на примере 10.14.

<?php
//Чтобы не создавать два файла, совместим все в одном php-файле. Весь html-код 
//с помощью синтаксиса heredoc присвоим переменной и выведем только в том 
//случае, если форма еще не была отправлена на сервер
//$_SERVER['PHP_SELF'] содержит имя текущего скрипта относительно корня документа

$a=<<<HD
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">	
	<title>Отправка простых текстовых данных</title>
</head>
<body>
	<form action="{$_SERVER['PHP_SELF']}" method="POST"> 
		Введите имя  &nbsp; <input type="text" name="firstName"><br><br>
		Введите фамилию  &nbsp; <input type="text" name="lastName"><br><br>
		Предпочитаете &nbsp; 
		 <input type="checkbox" name="choice[]" value="овощи">овощи &nbsp; 
		 <input type="checkbox" name="choice[]" value="фрукты">фрукты<br><br>
		<button type="submit" name="submit" value="send">Отправить</button>
	</form>
</body>
</html>
HD;

//Если форма была уже отправлена, то в массиве уже есть элемент $_POST["submit"]
if(isset($_POST["submit"])){
 //Чтобы не усложнять пример, будем считать, что все данные были введены 
 //Достаем полученные данные из суперглобального массива $_POST
 //и присваиваем их переменным для удобства использования
 $firstName = $_POST['firstName'];
 $lastName = $_POST['lastName'];
 $user_choice_0 = $_POST["choice"][0];
 $user_choice_1 = $_POST["choice"][1];
 //Выводим сообщение
 echo $firstName.' '.$lastName.' любит '.$user_choice_0.' и '.$user_choice_1; 
}else{
	//Если же форма еще не была отправлена выводим ее
	echo $a;
}
?>	

Пример 10.14. Код формы, которая ссылается сама на себя

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

Словарь новых английских слов

request [rɪˈkwɛst] – запрос, заявка.
choice [tʃɔɪs] – выбор.
application [ˌæplɪˈkeɪʃn] – приложение.
upload [ˌʌpˈləʊd] – загружать.
Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх