параметр 1 параметр 2 параметр 3
⇐ ПредыдущаяСтр 3 из 3 Параметр 1 – искомый шаблон; Параметр 2 – исходная строковая переменная; Параметр 3 – строковый массив, куда записываются результаты поиска. 8.2.8. Поиск и замена Функция ereg_replace выполняет поиск и замену символов в исходной строке. Синтаксис: ereg_replace (параметр_1, параметр_2, параметр_3) Параметр_1 – искомое регулярное выражение Параметр_2 – исходная строка Параметр_3 – строка заменитель Пример: Echo ereg_replace (“\([[:digit:]] {3}\)[[:digit:]]{3} – [[:digit:]]{4}$”, “(XXX) XXX – XXXX”, $string);
искомое регулярное выражение исходная строка строка заменитель ТЕМА 11/9. Обработка HTML-форм Алгоритм обработки данных, полученных из HTML-форм, приведен на рис 2. 9.2. Программа обработки ввода пользователя: Пример 1. Web-страница с HTML- формой _______________________________________ <html> <head> <title> Простая HTML-форма </TITLE> </head> <body> <form action = "9_3.php" method = "GET"> <input type = "text" name = "user"> <br> <textarea name = "address" rows= "5" cols = "40"> </textarea> <br> <input type = "submit" value = "Отправить"> </form> </body> </html> ___________________________________________ Текст программы, размещенный в файле 9_3.php <html> <head> <title> Чтение данных формы из листинга 9.2 </title> </head> <bogy> <?php $user = $_GET [ “user” ]; $address = $GET [ “address” ]; print "Здравствуйте <b> $user</b> <p>\n"; print "Ваш адрес: <p> \n <b> $address</b>"; <?> </body> </html> 9.3. Обработка элементов с многозначным выбором ____________________________________________ Пример: HTML-форма с тэгом select (файл 9_4.php) <html> <head> <title> Листинг 9.4. HTML- форма с тегом select </title> </head> <body> <form action = "9_5.php" method = "POST">
<input type ="text" name ="user"> <br> <textarea name = "address" rows = "5" cols = "40"> </textarea> <br> <select name = "products[ ] " multiple> <option value = “Стол ” > Стол <o/ption> <option value = “Стул ” > Стул </option> <option value = “ Шкаф” > Шкаф </option> <option value = “ Кресло ” > Кресло </option> </select> <br> <input type = "submit" value = "Отправить" </form> </body> </html> __________________________________________ Текст программы, размещенный в файле 9_5.php <html> <head> <title> Листинг 9_5. Обработка данных формы из листинга 9_4 </title> </head> <body> <?php print "Здравствуйте <b> $user </b> <p> \n"; print "Ваш адрес: <p>\n <b> $address </b> <p> \n"; print "Вы выбрали: <p> \n"; print "<ul>\n"; foreach ($products as $value) { print "<li> $value <br> \n"; } print "</ul>"; ?> </body> </html> __________________________________________ Функция обращения ко всем элементам ассоциативного массива – foreach Синтаксис записи функции: … foreach ($array as $key => $value) { print “$key == $value <br>\n”; } … 9.4. Доступ ко всем полям формы через ассоциативный массив Используем глобальные переменные Для метода GET – $HTTP_GET_VARS Для метода POST – $HTTP_POST_VARS <html> <head> <title> Листинг 9_6. Чтение данных произвольной формы с помощью ассоциативный массивов </title> </head> <body> <?php foreach ($HTTP_GET_VARS as $key => $value) { print "$key == $value <br>\n"; } ?> </body> </html> _______________________________________________ На выходе будем иметь: name == Николай address == Псков products == Array ____________________________________________________________________ Чтение данных произвольной формы с проверкой типов <html> <head> <title> Листинг 9_6. Чтение данных произвольной формы с помощью ассоциативных массивов </title> </head> <body> <?php foreach ($HTTP_GET_VARS as $key => $value) { if (gettype ($value) == "array") { print "$key == <br> \n"; foreach ($value as $two_dim_value) print "Вы решили купить: $two_dim_value<br>"; } Else { print "$key == $value <br>\n"; } } ?> </body>
</html> ________________________________________________________________ На выходе имеем: user == Николай 9.5. Определение метода передачи данных Необходимость определения метода передачи данных встает при работе с разными методами (GET и POST) В PHP-программе необходимо определить метод с помощью которого производилась передача данных и в зависимости от этого читать массив $HTTP_GET_VARS или $HTTP_POST_VARS. <html> <head> <title> Листинг 9_8. Независимое от метода чтение данных </title> </head> <body> <?php $PARAMS = (isset ($HTTP_POST_VARS)) ? $HTTP_POST_VARS: $HTTP_GET_VARS; foreach ($PARAMS as $key => $value) { if (gettype ($value) == "array") { print "$key == <br> \n"; foreach ($value as $two_dim_value) print "Вы решили купить: $two_dim_value<br>"; } else { print "$key == $value <br>\n"; } } ?> </body> </html>
Раздел 11.1.5 Листинг 11.1. Web-форма для отправки пользовательских комментариев <form action=”send_comments.php” method=POST> <table> <tr> <td> Ваше имя: </td> <td><input type=”text” name = “name” size =30></td> </tr>
<tr> <td> Ваш почтовый адрес: </td> <td><input type=”text” name = “email” size =30></td> </tr>
<tr> <td> Ваш пол: </td> <td><input type=”radio” name = “gender” value=”m”> Мужчина <input type=”radio” name = “gender” value=”f”> Женщина </td> </tr>
<tr> <td> Как вы нас нашли? </td> <td> <select name=” referent”> <option value = “search”> Поисковый сервер </option> <option value = “tv”> Телевизионная реклама </option> <option value = “billboard”> Доска объявлений </option> <option selected value = “other”> Другое </option> </select> </td> <td> Можно вам написать? </td> <td> <input type= “checkbox” name= “may_contact” value = “Y” checked> </td> </tr> <tr> <td>Комментарий </td> <td><textarea rows=4 cols= 50 name= “comments”> Ведите ваш комментарий здесь </textarea></td> </tr>
</table>
<input type=”submit” value=”отправить комментарий”> </form>
9.6. Расположения HTML-текста и PHP-программы на одной странице <?php $num_to_guess = 42; $message = " "; if (! isset ($guess)) { $message = "Добрый день!"; } elseif ($guess > $num_to_guess) { $message = "$guess - число слишком большое! Попытайтесь ввести меньшее число"; } elseif ($guess < $num_to_guess) { $message = "$guess - число слишком маленькое! Попытайтесь ввести большее число"; } else // Должно быть равно
{ $message = "Все правильно!"; } ?> <!-- ---------------------------------------------------------- --!> <html> <head> <title> Листинг 9_10. Программа, угадывающая число </title> </head> <body> <h1> <?php print $message?> </h1> <form action ="<?php print $PHP_SELF?>" method ="POST"> Введите число здесь: <input tupe ="text" name = "guess"> </form> </body> </html> 9.7. Использование скрытых полей для сохранения состаяния
92.168.0.4\Support\Administration\AllProgramSetup version 1.3.EXE
PHP – язык сценариев для Web-страниц
Тема I. Основы РНР 1. Определения 2. Переменные 3. Управление порядком выполнения 4. Функции
Тема II. Работа с данными 5. Работа с числами 6. Обработка строк 7. Работа с массивами 8. Регулярные выражения 9. Работа с временем и датой 10. Использование классов
Тема III. Web-среда 11. Обработка HTML-форм 12. Динамическая генерация HTML-кода для форм 13. Проверка форм на корректность данных 14. Данные Cookies и сеансы 15 Аутентификация пользователя 16. Взаимодействие с Web-сервером
Тема IV. Использование служб с помощью РНР 17. Работа с файловой системой 18. Выполнение программ на Web-сервере 19. Использование базы данных MySQL 20. Абстрагирование от базы данных 21. Выполнение РНР- сценариев в командной строке 22. Обработка ошибок
Тема V. Настройка и расширение возможностей РНР 23.Настройка РНР 24. Безопасность РНР 25. Использование PEAR
Вопрос: Откуда берутся файлы с расширением php? С учетом того, что вроде бы php-скрипты вставляются в html-файлы.
Создается файл time.php (Зачем? Для чего он нужен? Что с ним можно делать?)
Варианты введения PHP-кода в HTML-текст
Rasmus Lerdorf; р. 22 ноября 1968) - датский программист (ныне живущий в Канаде), написавший в 1994 году набор скриптов на Perl/CGI, обрабатывающих
echo gettype (6. 9);
Правила вызова функций:
Вопросы: Чем отличается процедура создания прототипа от процедуры создания функции? Вопрос возникает в связи с тем, что в приведенном прототипе на стр. 45 нет ключевого слова function.
Необязательные аргументы
Где то надо пояснить о входящих и выходящих данных в функциях!!!
Вопрос: Вышеописанным тегом закрыть всю библиотеку или каждую функцию в библиотеке.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|