Пример обработки запроса с помощью PHP
Нужно написать форму для регистрации участников заочной школы программирования и после регистрации отправить участнику сообщение (сгенерировать это сообщение и вывести его на экран в браузере). Начальный вариант формы регистрации приведен выше. Изменим его таким образом, чтобы каждый регистрирующийся мог выбрать сколько угодно курсов для посещения, и не будем подтверждать получение регистрационной формы.
<h2>Форма для регистрации студентов</h2><form action="1.php" method=POST>Имя <br><input type=text name="first_name" value="Введите Ваше имя"><br>Фамилия <br><input type=text name="last_name"><br>E-mail <br><input type=text name="email"><br><p> Выберите курс, который вы бы хотели посещать:<br><input type=checkbox name='kurs[]' value='PHP'>PHP<br><input type=checkbox name='kurs[]' value='Lisp'>Lisp<br><input type=checkbox name='kurs[]' value='Perl'>Perl<br><input type=checkbox name='kurs[]' value='Unix'>Unix<br><P>Что вы хотите, чтобы мы знали о вас? <BR><textarea name="comment" cols=32 rows=5></textarea><input type=submit value="Отправить"><input type=reset value="Отменить"></form>Способ передачи значений элемента checkbox состоит в следующем: если писать в имени элемента kurs[], – первый отмеченный элемент checkbox будет записан в первый элемент массива kurs, второй отмеченный checkbox – во второй элемент массива и т.д. Можно, конечно, просто дать разные имена элементам checkbox, но это усложнит обработку данных, если курсов будет много.
Скрипт, который все это будет разбирать и обрабатывать, называется 1.php (форма ссылается именно на этот файл, что записано в ее атрибуте action). По умолчанию используется для передачи метод GET, но мы указали POST. Если человек регистрируется, скрипт генерирует соответствующее сообщение. Если человек выбрал какие-то курсы, то ему выводится сообщение о времени их проведения и о лекторах, которые их читают. Если человек ничего не выбрал, то выводится сообщение о следующем собрании заочной школы программистов.
<?// создадим массивы соответствий курс-время его // проведения и курс-его лектор$times = array("PHP"=>"14.30","Lisp"=>"12.00", "Perl"=>"15.00","Unix"=>"14.00");$lectors = array("PHP"=>"Василий Васильевич", "Lisp"=>"Иван Иванович", "Perl"=>"Петр Петрович", "Unix"=>"Семен Семенович");define("SIGN","С уважением, администрация"); // определяем подпись письма как константуdefine("MEETING_TIME","18.00"); // задаем время собрания студентов$date = "12 мая"; // задаем дату проведения лекций //начинаем составлять текст сообщения$str = "Здравствуйте, уважаемый " . $_POST["first_name"] . " " . $_POST["last_name"]."!<br>";$str .= "<br>Сообщаем Вам, что ";$kurses = $_POST["kurs"]; // сохраним в этой переменной // список выбранных курсовif (!isset($kurses)) { // если не выбран ни один курс $event = "следующее собрание студентов"; $str .= "$event состоится $date ". MEETING_TIME . "<br>";} else { // если хотя бы один курс выбран $event = "выбранные Вами лекции состоятся $date <ul>"; //функция count вычисляет число элементов в массиве $lect = ""; for ($i=0;$i<count($kurses);$i++){ // для каждого выбранного курса $k = $kurses[$i]; // запоминаем название курса $lect = $lect . "<li>лекция по $k в $times[$k]"; // составляем сообщение $lect .= " (Ваш лектор, $lectors[$k])"; } $event = $event . $lect . "</ul>"; $str .= "$event";}$str .= "<br>". SIGN; // добавляем подписьecho $str; // выводим сообщение на экран?>Дата добавления: 2016-03-04; просмотров: 977;