Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример обработки запроса с помощью 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>

Листинг 4.4. form_final.html

Здесь все достаточно просто и понятно. Единственное, что можно отметить, – это способ передачи значений элемента 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; // выводим сообщение на экран? >

Листинг 4.5. Скрипт 1.php, обрабатывающий форму form_final.html

Заключение

Подведем итоги. Мы научились отличать клиента от сервера и компьютер - сервер от программы- сервера, познакомились с основными методами, используемыми для передачи данных на сервер, изучили средства, предлагаемые языком PHP для обработки клиентских запросов, и испробовали их на практике. В принципе этого достаточно для того, чтобы создавать клиент-серверные приложения.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.