- •«Основы программирования на php»
- •Оглавление
- •Введение
- •1. Первые шаги с php
- •1.1 Основы синтаксиса
- •1.2 Передача данных в браузер
- •2. Переменные
- •2.1 Синтаксис переменных
- •1.3 Тестирование сценария
- •1.4 Передача простого текста в браузер
- •1.5 Передача страницы html в браузер с помощью рнр
- •2.2 Типы переменных
- •2.3 Присвоение значений переменным
- •3. Html-формы и php
- •3.1 Создание html-формы
- •3.2 Получение данных из формы в рнр
- •4. Работа с числами и строками
- •4.1 Сложение, вычитание, умножение и деление.
- •4.2 Встроенные математические функций
- •4.3 Соединение строк
- •5. Управляющие структуры
- •5.1 Условный оператор if
- •5.2 Операторы сравнения
- •5.7 Цикл while
- •5.8 Цикл for
- •6. Массивы
- •6.1 Создание массива
- •6.2 Добавление элементов в массив
- •6.3 Объединение массивов:
- •6.4 Доступ к элементам массива
- •6.5 Сортировка массивов
- •6.6 Многомерные массивы
- •7. Функции
- •7.1 Создание и использование простых функций
- •7.2 Создание и вызов функций, принимающих аргументы
- •8. Файлы и каталоги
- •8.1 Запись данных в файл
- •8.2 Чтение файла
- •8.3 Переименование и удаление файлов и каталогов
- •Заключение
3.2 Получение данных из формы в рнр
Мы создали форму. Теперь необходимо написать сценарий HandleForm.php, который будет получать и обрабатывать данные, введенные пользователем в экранной форме form.html. Вот здесь и станет очевидна простота и эффективность языка РНР.
Создание сценария HandleForm.php
1. Создаём новый документ.
<HTML><HEAD><TITLE>Form Results</TITLE></HEAD><BODY>
<?php /*Эта страница получает и отрабатывает данные, принятые от "form.html". */ ?></BODY></HTML>.
2. Создаём новую строку после комментария, но до закрывающего PHP-тэга. Набираем следующий текст:
print ("Your first name is $FirstName.<BR>\n");
print ("Your last name is $LastName.<BR>\n");
print ("Your E-mail address is $Email.<BR>\n");
print ("This is what you had to say:<BR>\n $Comments<BR>\n");
3. Сохраним сценарий в файле с именем HandleForm.php.
4. Загружаем сценарий на сервер и убеждаемся, что он сохранен в одном каталоге со страницей form.html.
5. Тестируем сценарий в Web-браузере (рис. 4 и 5).
Взяв название элемента NAME = "Name" в HTML-форме и добавив знак $, получаем переменную, которая содержит значение, введенное пользователем в соответствующем поле формы. Это справедливо для любого типа ввода кода HTML, будь то TEXT, TEXTAREA или выбор из меню SELECT.
1. <HTML>
2. <HEAD>
3. <TITLE>Form Results</TITLE></HEAD>
4. <BODY>
5. <?php
6. /* Эта страница получает и отрабатывает данные, принятые
от "form.html".*/
7. print ("Your first name is $FirstName.<BR>\n");
8. print ("Your last name is $LastName.<BR>\n");
9. print ("Your E-mail address is $Email.<BR>\n") ;
10. print ("This is what you had to say:<BR>\n $Comments<BR>\n");
11. ?>
12. </BODY>
13. </HTML>
Рис. 4 Все, что пользователь вводит в HTML-форму, будет напечатано в браузере сценарием HandleForm.php (Рис . 5)
Рис. 5 Результат отправленной формы
Так же мы можем сами присвоить имя переменной $FirstName = "Sergey";
4. Работа с числами и строками
4.1 Сложение, вычитание, умножение и деление.
Умножение:
$С = $A * $B;
Деление
$C = $A / $B;
Сложение
$C = $A + $B;
Вычитание
$C = $A - $B;
Функции sprintf ( ) и printf ( ) для вывода переменных (как и в других языках программирования) аналогичны. Отличаются они тем, что первая сразу посылает результаты в браузер, а функция sprintf () помещает результирующую строку в переменную, не распечатывая ее:
$Amount = sprintf ( "%01.2f" , $Amount);
Инкремент и декремент
В РНР, есть особые операторы, нужные для того, чтобы сократить длинные неуклюжие присвоения вроде $Тах = $Тах + 1; Если необходимо увеличить значение переменной ровно на единицу (инкремент) или уменьшить на единицу (декремент), можно использовать операторы «++» и
«--» соответственно.
$Тах++ тоже самое, что и $Тах = $Tax + 1;
4.2 Встроенные математические функций
В РНР есть ряд встроенных функций для обработки математических данных. Мы используем некоторые из них для улучшения сценария numbers.php.
Одна из встроенных математических функций, которую можно использовать в сценарии калькулятора - это round ( ) . Как видно из названия, данная функция округляет число до целого по стандартным математическим правилам: 0,5 и больше округляется до целого числа, меньше 0,5 - дробная часть просто отбрасывается. Подразумевается, что функция используется для округления дробных чисел, но даже попытка округлить целое число не вызовет никаких проблем (она просто ничего не будет делать, ведь результатом округления числа 2 будет 2).
Пример:
$Number = round(23.309); // $Number равно 23.
SNumber = round(23.51); // $Number равно 24.
В РНР можно округлить число до определенного знака после запятой, добавив в уравнение второй параметр:
Пример:
$Number = round(23.51, 1); // $Number равно 23.5.
На функцию round ( ) похожи две другие функции. Первая, ceil ( ) , округляет число до следующего целого, а вторая, floor ( ) , - до предыдущего целого. Еще одной функцией, которую можно использовать на нашей странице-калькуляторе, является abs ( ) . Она возвращает абсолютное значение числа.
Пример:
$Number = abs(-23); // $Number равно 23.
$Number = abs(23); // $Number равно 23.
На языке дилетантов абсолютное значение числа- всегда положительное
число. Две последние функции, которые будут здесь представлены, - это srand () и rand ( ) . Последняя представляет собой генератор случайных чисел, а первая - функцию, инициирующую rand ( ) . Для получения действительно случайных чисел функцию srand ( ) необходимо использовать до вызова
rand ( ) . В руководстве по РНР рекомендуется следующий код:
srand ((double) microtimeO * 1000000);
$RandomNumber = rand();
В функции rand ( ) можно использовать параметры минимума и максимума, если вы хотите, чтобы генерируемые числа относились к определенному диапазону.
$RandomNumber = rand (0, 10);
Из вышеупомянутых математических функций в сценарий numbers.php мы включим две - abs ( ) и round ( ) - для защиты от неверного ввода пользователя.
