Уроки PHP и MySQL

Скачать материалы к учебному курсу:
Скачать Notepad++ Portable
Скачать Denwer3 (версия p5.3.13_m5.5.25_pma3.5.1)
Скачать папку CD_php для изучения курса «Уроки PHP и MySQL» (692 Кб)




Уроки PHP. Урок 2. Обработка форм на PHP

В этом уроке PHP рассматриваются базовые понятия языка: обработка форм с отправкой запроса в веб-страницы, основные управляющие конструкции php при обработке форм, запись данных из формы PHP в файл, функция даты в PHP date().

1. Напомним, что все файлы php тестируются только при запущенном Денвере и только из адресной строки браузера. Запускать файлы php двойным щелчком нельзя!

2. Запустите Денвер.

Упражнение 1. Обработка простой формы

В данном уроке PHP рассмотрим обработку формы на HTML-странице, создание переменных PHP для полей формы.

1. Создайте форму, как на рис. 3.1. Подразумевается, что при нажатии на кнопку Отправить заказ данные из формы будут переданы администратору, а клиент на экране увидит ответ Заказ обработан. Если Вы затрудняетесь в написании формы, тогда реализуйте код, приведенный ниже рисунка, и сохраните его в папке php_2 под именем forma_bob.html Напоминаем, что адрес обработчика формы записывается в атрибуте action тега form.

Уроки php

Рисунок 3.1

Уроки php

2. Для того, чтобы пользователь получил ответ после отправки данных, необходимо создать обработчик формы на языке php. Создайте код, приведенный ниже, и сохраните его в папке php_2 под именем zakaz.php

Уроки php

3. Проверьте работоспособность обработчика. Для этого запустите файл forma_bob.html через браузер, набрав в адресной строке браузера адрес http://localhost/php_2/forma_bob.html

4. В поля формы введите любые цифры и нажмите кнопку Отправить заказ. Результат на рис. 3.2.

Уроки php

Рисунок 3.2

Переменные формы

Весь смысл использования формы заказа заключается в получении информации о заказе клиента, которую он ввел с клавиатуры. Внутри PHP-сценария к каждому из полей формы можно получить доступ как к переменной, имеющей то же имя, что и у поля формы. В языке PHP переменные легко распознать, так как они начинаются со знака доллара $.

Вы можете получить доступ к содержимому поля tireqty следующими способами:

$tireqty //короткий стиль

$_POST[‘tireqty’] //средний стиль

$HTTP_POST_VARS[‘tireqty’] //длинный стиль

Мы будем использовать длинный стиль для ссылок на переменные формы, но для простоты использования строить короткие версии применения. Это удобный и безопасный способ манипулирования данными, который эффективно работает во всех системах, независимо от выбранных версий и настроек.

Копируя содержимое одной переменной в другую, мы применяем операцию присваивания, для обозначения которой в языке PHP используется знак равенства (=). Приводимая ниже строка кода создает новую переменную с именем $tireqty и переносит содержимое $_POST[‘tireqty’] в эту новую переменную:

$tireqty=$_POST[‘tireqty’]

Так как этот сценарий не генерирует никаких выходных данных, нет никакой разницы, будет он помещен выше или ниже дескриптора <html>. Обычно этот блок размещается в начале сценария.

5. В файле zakaz.php измените код следующим образом и проверьте работоспособность формы. Результат на рис. 3.3. Цифры могут отличаться в зависимости от того, какие данные Вы ввели.

Уроки php

Уроки php

Рисунок 3.3

Упражнение 2. Создание калькулятора для формы «Автозапчасти от Боба»

В этом уроке PHP рассмотрим основные арифметические функции PHP для расчетов.

1. Файл forma_bob.html сохраните под именем forma_bob_2.html

2. Файл zakaz.php сохраните под именем zakaz_2.php

3. В файле forma_bob_2.html форму «Автозапчасти от Боба» измените так, чтобы она имела вид, как на рис. 3.4. Не забудьте изменить имя обработчика на zakaz_2.php. Если затрудняетесь, то можете реализовать код, приведенный ниже.

Уроки php

Уроки php

Рисунок 3.4

4. Создайте новую обработку для формы в файле zakaz_2.php, используя знания, полученные из предыдущих уроков. Обработка должна содержать следующие выходные данные и условия:

    • Если пользователь не ввел ни одного количества товара, то программа должна выдать сообщение «Вы ничего не заказали на предыдущей странице! (рис. 3.5).

      Уроки php

      Рисунок 3.5

    • Если пользователь ввел хотя бы одно отрицательное число, то программа должна выдать сообщение «Неверно указано количество товара» (рис. 3.6).

      Уроки php

      Рисунок 3.6

    • Если данные введены корректно, то необходимо «обсчитать» заказ следующим образом:
      • Должно быть выведено общее количество заказанного товара,
      • Должна быть выведена общая стоимость заказанного товара,
      • Если автопокрышек заказано меньше 10, то скидка будет 0%, если от 10 до 49 – скидка 5%, если от 50 до 100 – скидка 10%, если от 100 и выше – скидка 15%. Должно быть выведено сообщение о предоставленной скидке,
      • Должна быть выведена общая стоимость заказа с учетом скидки,
      • Ввести налог с продаж, равный 10%, вывести об этом сообщение,
      • Должна быть выведена общая стоимость заказа, увеличенная на налог с продаж,
      • Должна быть выведена дата заказа,
      • Все цифры, которые измеряются в долларах, должны быть отформатированы с двумя знаками после запятой. Пример обработки формы приведен на рис. 3.7

Уроки php

Рисунок 3.7

Рекомендации:

1. Стоимость каждого товара определяется константой. Константа на PHP задается функцией define. Пример define('POKRPRICE',10); Первый параметр функции – это имя константы, которое пишется прописными буквами, второй параметр – значение константы.

2. Логическая операция ИЛИ обозначается ||

3. Логическая операция И обозначается &#038&#038.

4. Операции сравнения: больше >, меньше <, больше или равно >=, меньше или равно <=

5. Функция, которая считывает время с компьютера date('H:i, j F')

6. Функция, которая форматирует количество знаков после запятой number_format. Пример number_format($sumnalog,2). Первый параметр – переменная, у которой форматируем знаки, второй параметр – количество знаков после запятой.

7. Если Вы затрудняетесь с созданием обработки формы, может воспользоваться кодом, приведенным ниже (рис. 3.8):

Уроки php

Рисунок 3.8

Упражнение 3. Запись данных из формы в текстовый файл

В нашем уроке PHP также рассматриваем запись данных из формы в текстовый файл и функцию даты date() при обработке формы.

1. В файле-обработчике формы «Автозапчасти об Боба» после последней закрывающей фигурной скобки добавьте код.

Уроки php

Рисунок 3.9

2. Проверьте работу программы. Текстовый файл orders.txt создается автоматически, просмотрите его содержимое.

КОНТРОЛЬНОЕ ЗАДАНИЕ

После изучения данного урока PHP предлагается выполнить контрольное задание для закрепления полученных знаний.

Уроки php

Рисунок 3.10

1. Создать форму, как на рис. 3.10.

2. Создать обработку формы, которая будет выводить результаты заказа, как на рис. 3.11 (результаты будут отличаться в зависимости от введенных в форму данных.

3. Результаты заказа должны записываться в отдельный текстовый файл.

Список заказа должен отражать следующее:

  • Вид товара.
  • Стоимость 1 шт. товара.
  • Количество заказанных товаров.
  • Общую стоимость заказа без доставки, налога на продажи и скидок.
  • Стоимость доставки.
  • Величину налога с продажи.
  • Скидку в процентах и рублях.
  • Стоимость заказа с учетом доставки, налога с продаж и скидки.
  • Адрес доставки.

Условия задачи:

  1. Стоимость товаров:
    • ручки – 10 руб.
    • книги – 100 руб.
    • сувенира – 1000 руб.
    • компьютера – 10000 руб.
  2. Налог с продаж – 18%. Налог прибавляется к общей стоимости всех товаров с учетом скидки.
  3. Стоимость доставки – 500 руб. Стоимость доставки прибавляется к общей стоимости всех товаров в учетом скидки и налога с продаж.
  4. Скидки:
    • При заказе ручек или книг меньше 5 шт. скидка – 5%, от 5 до 10 шт. – 10%, выше 10 шт. – 20%;
    • При заказе сувениров или компьютеров от 10 до 20 шт. скидка – 10%, от 20 до 30 шт. – 20%, выше 30 шт. – 40%.

Уроки php

Рисунок 3.11