Содержание:
Методы передачи данных форм в php
Использование методов GET и POST

Get – данные из формы передаются на сайт, указанный в поле адреса браузера, с помощью знака «
?» и «&»

POST — используется для передачи больших объемов данных или когда нужно скрыть значения передаваемых параметров
Переданные сценарию параметры не отображаются в окне браузера 
Суперглобальные переменные
При передачи данных формы на сервер формируются суперглобальные переменные — ассоциативные массивы, содержащие передаваемые значения:
- $_GET[] — ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы GET.
- $_POST[] – ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы POST.
- $_REQUEST[] – ассоциативный массив, который содержит все значение, передаваемые в сценарий с помощью методов POSTиGET.
Рассмотрим пример использования метода GET
index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод GET)Выполнение:
Файл index.html
| 1 2 3 4 5 6 | <form action="answer.php" method="get"> Имя <br><input type="text" name="Firstname" ><br> Фамилия <br> <input type="text" name="Lastname" ><br> E-mail<br> <input type="text" name="email"><br> <input type="submit" name="submit" value="Отправить"> </form> | 
Файл answer.php
| 1 2 3 4 5 | <?php echo "<br> Ваше имя" . $_GET['Firstname']; echo "<br> Ваша фамилия" . $_GET['Lastname']; echo "<br> Ваш электронный адрес" . $_GET['email']; ?> | 
Рассмотрим вариант безопасной обработки данных:
| 1 2 3 4 5 | <?php If (isset($_GET['Firstname']) { $firstname=trim (strip_tags($_GET['Firstname'])); echo "<br> Ваше имя" .$firstname;} ?> | 

Рассмотрим тот же самый пример с использованием метода POST
index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод POST)Выполнение:
Файл index.html
| 1 2 3 4 5 | <form action="answer.php" method="post"> Имя <br><input type="text" name="Firstname"><br> Фамилия <br> <input type="text" name="Lastname"><br> E-mail<br> <input type="text" name="email"><br> <input type="submit" name="submit" value="Отправить"> </form> | 
Файл answer.php
| 1 2 3 4 5 6 | <?php <?php echo "<br> Ваше имя" . $_POST['Firstname']; echo "<br> Ваша фамилия" . $_POST['Lastname']; echo "<br> Ваш электронный адрес" . $_POST['email']; ?> | 
Итерации по массиву $_Request
index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод REQUEST)Выполнение:
Файл index.html
| 1 2 3 4 5 | <form action="answer.php" method="post"> Имя <br><input type="text" name="Firstname"><br> Фамилия <br> <input type="text" name="Lastname"><br> E-mail<br> <input type="text" name="email"><br> <input type="submit" name="submit" value="Отправить"> </form> | 
Файл answer.php
| <?php foreach($_REQUEST as $key => $value) { echo $key; echo ": " .$value; echo "<br/>"; } ?> | 
Формируемый при передачи массив имеет вид:
$_Request['Firstname']="…" $_Request['Lastname']="…" $_Request['email']="…"
Функции для обработки данных формы
- is_string(string) – определяет, является ли переменная stringстрокой. Возвращает значениеtrueилиfalse.
- is_int(string) или is_integer(string) – определяет, является ли переменная stringцелым числом. Возвращает значениеtrueилиfalse.
- is_numeric(string) – определяет, является ли переменная stringчисловой строкой. Возвращает значениеtrueилиfalse.
- is_double(string) или is_float(string) – определяет, является ли переменная stringчислом с плавающей точкой. Возвращает значениеtrueилиfalse
Проверить:
- был ли отправлен запрос при щелчке на кнопке
- были ли поля заполнены цифрами, а не другими символами
Алгоритм выполнения:
- Создайте файл calculator.php
- Для построения формы воспользуйтесь конструкцией:
- Проверьте, была ли корректно отправлена форма (ф-цияisset ())
- Если она была отправлена, отфильтруйте полученные значения (is_numeric)
- В зависимости от оператора производите различные математические действия
- В случае деления, проверьте, делитель на равенство с нулем (на ноль делить нельзя)
- Сохраните полученный результат вычисления в переменной
- Если результат существует, выведите его.
| <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> | 

Написать интерфейс, который позволял бы создавать html-формы. Пользователь выбирает, какие элементы и в каком количестве нужно создать, придумывает им названия, а программа сама генерирует требуемую форму.

Результат:
 
ask_names.php:

При создании двух элементов типа «текстовая строка» и одного элемента типа «текстовая область» получим (рис. 8). Введем в эту форму, например, строки «Название», «Автор» и «Краткое содержание». Эти данные будет обрабатывать скрипт task.php.

Результатом работы скрипта с входными данными, приведенными выше, будет следующая форма:
 
Средствами PHP разработать простой валютный калькулятор, который конвертирует различные валюты в рубли (см. рисунок). Форму калькулятора и скрипт обработки поместить в один файл, используя функцию:
| <form action="<?php echo $_SERVER['PHP_SELF'];?>"> | 
Заменить фреймовую структуру с меню, на работу с одним файлом php.
- Откройте файл в котором формируется меню.
- Измените значения всех элементов массива на index.php
- Добавьте к значению "index.php"параметрid, передаваемый методомGET
- Добавьте к параметру idуникальные значения.
- Заключите все ссылки в тег formс параметромaction =
- Откройте файл с таблицей общей структуры сайта. Переименуйте его в index.php
- Создайте переменнуюid
- Присвойте переменной idзначение параметраidпереданного при запросе методомGET
- Создайте несколько html-страниц с шаблонным текстом (1.html, 2.html, 3.html)
- В файле index.php с помощью конструкции switch, в зависимости от значения переменнойid, выводите содержимое области основного контента страницы в ячейку для контента. (еслиpage1, то загружаем 1.html, еслиpage2, — загружаем 2.html и т.д.)
ПРИМЕР:
| index.php?id=page1 | 
| action="<?php echo $_SERVER['PHP_SELF']; ?>" | 







Привед
Hello. And Bye.
Hello. And Bye.
Подскажите пожалуйста как эффективнее учить язык — с преподавателем или можно и самостоятельно?