Php какие данные передаются

Методы GET и POST
Синтаксис тернарного оператора

Как правило данные передаются из формы, иногда данные могут передавться через адресную строку. Для передачи данных существуют два специальных метода — это методы POST и GET, и соответственно, в зависимости от того каким методом мы отправляем данные, эти данные будут доступны в одном из двух предопределённых массивов: это массив $_POST и массив $_GET

Передача данных методом GET

Создадим в папке с уроком файл index.php

Создадим в форме поле input и кнопку button .

В адресной строке появится запись: ?name=Андрей — таким образом передаются данные методом GET.

Передаются они через адресную строку в формате ключ — значение .

— Где ключ — это имя поля: name ,

— а значение это то, что мы ввели в данное поле ( Андрей ).

Все GET-параметры идут после вопросительного знака .

По умолчанию данные из формы отправляются методом GET

передача данных методом GET:

get_post1

Передача данных методом POST

Для этого в форме используем атрибут method , в котором укажем метод post . При нажатии на кнопку данные отправляются, но в адресной строке их нет. Если нажать кнопку F5 или иконку обновления страницы , браузер предложит повторно отправить форму .

Для того, чтобы эту проблему избежать, эта проблема известна еще как » проблема F5«, мы должны перезапрашивать страницу .

Так как данные, при отправке методом POST, не видны, его можно применять при отправке важных,секретных данных, например, пароль и логин при регистрации и т. д.

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

Так же преимущество POSTа перед GETом это то, что он может отправлять неограниченный объем данных .

Используем еще один атрибут формы action , в котором мы укажем, куда будет отправляться форма(action.php). По умолчанию, если мы не укажем action , то данные будут отправлятся на эту же страницу .

Создадим файл action.php — в нем распечатаем наши данные.

передача данных методом POST:

get_post2

Распечатка массивов

Распечатка массивов, только в том случае, если в них есть данные, переданные методом POST

Первый случай заключается в использовании функции empty ( пустой ).

Эта функция проверяет, не пуста ли, та или иная переменная и существует ли она вообще. Если переменная существует и она не пуста, тогда функция empty вернет ложь ( false ), если она пуста либо ее не существует, вернет — истину ( true ).

if (! empty ( $_POST )) echo ‘

' ; 
print_r ( $_POST );
echo '

‘ ;
>
if ( ! empty ( $_GET )) echo ‘

' ; 
print_r ( $_GET );
echo '

‘ ;
>
?>

распечатка массива данных, переданных методом POST с использованием функции empty :

get_post3

Второй способ — это проверить, существует ли какой-нибудь элемент в массиве . Зачастую проверяется кнопка или какое-нибудь обязательное поле формы.

Сейчас кнопка не имеет имени и поэтому в массиве $_POST ее нет.

Если добавим (в index.php) имя кнопки , например: name=»send» , то данное имя появится в массиве $_POST . Добавим также значение value=»test» и в массиве появится «test» как значение поля формы ( кнопка — то же поле формы ) с ключем «send» .

Мы можем проверить (в action.php), существует ли у нас такая кнопка с помощью функции isset , которая проверяет, установленна ли переменная, не важно, есть значение у переменной или нет, главное чтобы она была.

Проверяем: если у нас существует в массиве $_POST элемент «send» , тогда мы распечатаем этот массив — это значит, что кнопка была нажата и форма была отправленна .

// если у нас существует в массиве $_POST элемент «send»,
// тогда мы распечатаем этот массив
if ( isset ( $_POST [ ‘send’ ])) echo ‘

$_POST

' ;
print_r ( $_POST );
echo '

‘ ;
>

if ( isset ( $_GET [ ‘send’ ])) echo ‘

$_GET

' ;
print_r ( $_GET );
echo '

‘ ;
>
?>

Распечатка массива данных, переданных методом POST с помощью проверки

существования в массиве $_POST элемент «send» :

get_post4

Чтобы данные принимала эта же страница (index.php) делаем в форме action=»» — пустым или action=»index.php» .
Выведем на странице браузера полученное имя:
Введенное имя: — if ( !empty ($_POST[ ‘name’ ])) — проверяем, существует ли переменная(инициализированна ли она) и не пуста ли она,
— echo $_POST[ ‘name’ ] — если она существует, то выведем ее,
— в противном случае выведем: Форма не отправлена .

textarea

Добавим еще одно поле textarea , с именем name=»text» .
С помощью функции nl2br , переносы строк в поле textarea , будут так же отображаться в браузере .

Проверяем, введен ли текст в поле textarea .
Попробуем вывести проверку текста в поле textarea под формой с помощью тернарного оператора .

Синтаксис тернарного оператора

— если условие выполняется, тогда мы выполним выражение «да», если нет,
тогда мы выполним выражение «нет» (то, что идет после знака двоеточия).

В нашем случае: Введенный текст: ,
где:
— ! empty ( $_POST [‘text’ ]) ? — если у нас существует $_POST [‘text’ ] ,
— echo nl2br ( $_POST [‘text’ ]) — то его выводим,
— в противном случае выводим ‘Форма не отправлена’ .

В файле index.php запишем:

Источник

PHP занятие 8. Передача данных

Атрибуты тега FORM

егэ разбор егэ разбор pascal уроки c уроки python уроки c++ уроки vb уроки lazarus уроки php уроки html уроки css уроки javascript уроки jquery и ajax уроки prolog уроки flash уроки

При передачи данных формы на сервер формируются суперглобальные переменные — ассоциативные массивы, содержащие передаваемые значения:

  • $_GET[] — ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы GET .
  • $_POST[] – ассоциативный массив, который содержит все значения, передаваемые в сценарий с помощью метода формы POST .
  • $_REQUEST[] – ассоциативный массив, который содержит все значение, передаваемые в сценарий с помощью методов POST и GET .

Рассмотрим пример использования метода GET

Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод GET )

Выполнение:
Файл index.html

form action="answer.php" method="get"> Имя br>input type="text" name="Firstname" >br> Фамилия br> input type="text" name="Lastname" >br> E-mailbr> input type="text" name="email">br> input type="submit" name="submit" value="Отправить"> /form>
 echo " 
Ваше имя"
. $_GET['Firstname']; echo "
Ваша фамилия"
. $_GET['Lastname']; echo "
Ваш электронный адрес"
. $_GET['email']; ?>

Ваше имя» . $_GET[‘Firstname’]; echo »
Ваша фамилия» . $_GET[‘Lastname’]; echo »
Ваш электронный адрес» . $_GET[’email’]; ?>

Рассмотрим вариант безопасной обработки данных:

 If (isset($_GET['Firstname']) { $firstname=trim (strip_tags($_GET['Firstname'])); echo " 
Ваше имя"
.$firstname;} ?>

Безопасная обработка данных php

Безопасная обработка данных

Рассмотрим тот же самый пример с использованием метода POST

Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод POST )

Выполнение:
Файл index.html

form action="answer.php" method="post"> Имя br>input type="text" name="Firstname">br> Фамилия br> input type="text" name="Lastname">br> E-mailbr> input type="text" name="email">br> input type="submit" name="submit" value="Отправить"> /form>
  echo " 
Ваше имя"
. $_POST['Firstname']; echo "
Ваша фамилия"
. $_POST['Lastname']; echo "
Ваш электронный адрес"
. $_POST['email']; ?>

Ваше имя» . $_POST[‘Firstname’]; echo »
Ваша фамилия» . $_POST[‘Lastname’]; echo »
Ваш электронный адрес» . $_POST[’email’]; ?>

Итерации по массиву $_Request

Пример: В файле index.html находится форма для заполнения данных пользователем. В файле abswer.php разработать скрипт обработки данных формы с выводом введенных пользователем значений (использовать метод REQUEST )

Выполнение:
Файл index.html

form action="answer.php" method="post"> Имя br>input type="text" name="Firstname">br> Фамилия br> input type="text" name="Lastname">br> E-mailbr> input type="text" name="email">br> input type="submit" name="submit" value="Отправить"> /form>
 foreach($_REQUEST as $key => $value) { echo $key; echo ": " .$value; echo "
"
; } ?>

Формируемый при передачи массив имеет вид:

$_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
  • Для построения формы воспользуйтесь конструкцией:

 echo $_SERVER['PHP_SELF']; ?>" method="post">

Функции php для обработки данных формы

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

    выбор типов элементов ввода и их количества (task_form.html);

создание элементов управления php

создание элементов управления php

task_form.html:
форма средствами php
Результат:
7

элементы управления php

ask_names.php:

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

рис. 8. Промежуточные результаты

рис. 8. Промежуточные результаты

7

Результатом работы скрипта с входными данными, приведенными выше, будет следующая форма:

Лабораторная работа 8_3 (легкий вариант):
Средствами PHP разработать простой валютный калькулятор, который конвертирует различные валюты в рубли (см. рисунок). Форму калькулятора и скрипт обработки поместить в один файл, используя функцию:

Валютный калькулятор на php

Валютный калькулятор на php

Лабораторная работа 8_4:
Заменить фреймовую структуру с меню, на работу с одним файлом php.

  1. Откройте файл в котором формируется меню.
  2. Измените значения всех элементов массива на index.php
  3. Добавьте к значению «index.php» параметр id , передаваемый методом GET
  4. Добавьте к параметру id уникальные значения.
action=" echo $_SERVER['PHP_SELF']; ?>"

Источник

Читайте также:  Make Directory
Оцените статью