html.okpython.net
Основы создания сайтов
PHP :: Использование php-скрипта и html-формы в одном файле
Во всех предыдущих примерах мы использовали по отдельности файл с формой и с обработчиком формы. Однако довольно часто в ходе разработки сайта бывает полезным совмещать в одном файле коды сразу нескольких языков (и не обязательно только HTML и PHP). Рассмотрим такую ситуацию на примере №1.
PHP
Результат
htmlCodes
<?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"> Введите имя <input type="text" name="first_name"><br><br> Введите фамилию <input type="text" name="last_name"><br><br> Предпочитаете <input type="checkbox" name="choice[]" value="овощи">овощи <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 //и присваиваем их переменным для удобства использования $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $user_choice_0 = $_POST["choice"][0]; $user_choice_1 = $_POST["choice"][1]; //Выводим сообщение echo $first_name.' '.$last_name.' любит '.$user_choice_0.' и '.$user_choice_1; }else{ //Если же форма еще не была отправлена выводим ее echo $a; } ?>
Пример №1. Код формы, которая ссылается сама на себя
Использование в одном файле как формы, так и ее обработчика, особенно удобно, когда необходимо отобразить форму пользователю повторно в случае неправильного заполнения некоторых полей. При чем форма обычно возвращается не пустой, а с верно заполненными полями и пометками, какие поля нужно заполнить заново.
Быстрый переход к другим страницам
- Загрузка пользовательских файлов на сервер в PHP
- Использование php-скрипта и html-формы в одном файле
- Вернуться к оглавлению учебника