Топ-100 PHP уроки, 2 часть: формы, операторы, циклы - Разработка сайтов на WordPress
PHP уроки, 2 часть: формы, операторы, циклы

PHP формы – $_GET и $_POST

Хранение пересылаемых данных в массив $_GET или $_POST

Когда посетитель заполняет форму на одной из ваших веб-страниц, данные отправляются в файл, указанный действием. Как данные будут отправлены, определяется выбранным методом – получить или отправить. В этом уроке мы рассмотрим:

  1. Особенности двух методов get и post;
  2. Какие варианты использования переданных из формы данных дают PHP функции $_GET и $_POST.

Вот пример формы, которая использует метод get для отправки имени пользователя и адреса электронной почты в файл PHP_get.php:

<fоrm action = "PHP_get.php" method = "get">
Ваше имя: <input type = "text" name = "name" />
Ваш электронный адрес: <input type = "text" name = "email" />
<input type = "submit" value = "отправить" />
</ fоrm>

Таким образом, данные, отправленные в файл PHP_get.php, доступны для обработки с помощью встроенных в PHP функций $ _POST или $ _GET, соответственно, для метода post и get.

Эти функции по сути являются массивами, которые хранят данные, отправленные из формы. Вы можете получить доступ к любому из введенных вами значений (в данном случае, имени и адреса электронной почты) в качестве элементов массива $ _POST или $ _GET.

Индексы данных в массиве идентичны имени, которое вы выбрали для соответствующего поля в форме. Например, информация, введенная в поле, для которого name = “imya”, содержится в $ _GET [‘imya’]. Это значение можно использовать в файле PHP_get.php для вывода имени посетителя:

<? php
echo "Привет". $ _ GET ['imya'];
?>

Ниже приведено описание двух функций PHP $ _GET и $ _POST и одного реального примера обработки информации формы.

Функция PHP $ _GET

Функция PHP $ _GET используется для данных, отправляемых из формы с помощью метода get. Особенности функции $ _GET и соответствующего ей метода get заключаются в следующем:

  • Информация, отправленная с использованием метода get, отображается в поле адреса браузера.
  • Существует ограничение на объем информации, отправляемой с использованием метода get – 100 символов.

Давайте рассмотрим следующий пример формы с использованием метода get:

<fоrm action = "PHP_get.php" method = "get">
Ваше имя: <input type = "text" name = "name" />
Ваш электронный адрес: <input type = "text" name = "email" />
<input type = "submit" value = "отправить" />
</ fоrm>

На экране форма будет выглядеть так:

Ваше имя:
Ваш электронный адрес:

Введите какое-нибудь имя и значение электронной почты в форме, которая является импровизированной, и посмотрите, как выглядит адресная строка браузера после нажатия кнопки «Отправить». Например, если вы ввели «Георгий» для имени и для адреса электронной почты «[email protected]», поле адреса будет выглядеть так:

https://ravechnost.ru/php_get.php?name=Георгий&email=georgi%40;example.com

Поскольку информация видна всем, конфиденциальная информация, такая как пароли, номера кредитных карт, адреса электронной почты и т. д, не должна отправляться с использованием метода get. С другой стороны, поскольку информация отображается в виде URL, страница может быть добавлена ​​в закладки.

Я также включил код самого файла PHP_get.php, который обрабатывает форму:

<?php heаder('Content-type: text/html; charset=utf-8');
?>
<html>
<h1 style="color:#c04b3b">
<?php
$name=$_GET['name'];
$email=$_GET['email'];
if ($name=="") {
echo "Привет, введите имя"."<br/>";
}
else
{
echo "Здравствуй, ".$name."!"."<br/>";
if (!$email=="")
{
echo $email." интересный адрес.<br/>";
}
}
echo 'Назад к <a href="https://ravechnost.ru/nachalo">уроку</a>';
?>
</h1>
</bоdy>
</html>

Функция PHP $ _POST

Как и $ _GET, функция PHP $ _POST используется для доступа к данным, отправленным в форме, но только при использовании метода post. Особенности метода post следующие:

  • В отличие от метода get, информация, отправленная с помощью метода post, не отображается в поле адреса браузера. Это удобно при отправке конфиденциальной информации, но страницу не удастся сохранить в виде закладки.
  • Нет ограничений на объем, отправляемый методом информации по почте.

PHP $ _REQUEST функция

В дополнение к перечисленным функциям $ _GET и $ _POST PHP также предлагает одну функцию, которая содержит информацию, отправляемую как методом get, так и методом post. $ _REQUEST используется аналогично $ _GET и $ _POST:

<? php
echo "Привет". $ _ REQUEST ['name'];
?>


PHP условные операторы – if, else, elseif, switch

Динамические веб-страницы PHP могут реагировать на события и, при разных условиях, представлять другой результат – то, что не под силу статическим HTML-страницам. Такая гибкость в поведении страниц PHP во многом обусловлена ​​так называемыми условными операторами: if, else, elseif, switch.

Условный оператор IF

Условный оператор IF используется, когда мы хотим, чтобы часть программы выполнялась, только если выполняется какое-то условие.

Условие заключено в маленькие скобки, за которым следует сам код, который должен быть выполнен, если условие выполнено:

<? PHP
if ($ name = "Boss") echo "Добрый день, дорогой мистер Босс!";
?>

Если код выполнения содержит более одной команды, он должен быть заключен в большие скобки:

<? PHP
if ($ den = "понедельник")
{
$ sup = "борщ";
$ basic = "рагу";
$ desert = "пирог";
}
>?

Условный оператор If-ELSE

Самостоятельное использование if не позволяет выполнять команды, если условие не выполняется. Эта опция позволяет добавить ключевое слово else. Команды, написанные после else, будут выполнены, только если условие после if не выполнено:

<? PHP
if ($ name = "Boss")
echo "Добрый день, дорогой мистер Босс!";
else
echo "Привет!";
?>

Условный оператор if-elseif-else

Если условие после if не выполняется, PHP позволяет проверить второе условие и выполнить другой код в зависимости от того, выполнено второе условие или нет. Это делается с помощью конструкции if-elseif-else:

<? PHP
if ($ name = "Boss")
echo "Добрый день, дорогой мистер Босс!";
elseif ($ name = "lady")
echo "Здравствуйте, Моя Леди!";
else
echo "Привет!";
>?

Условный оператор switch

Условный оператор switch используется, когда мы хотим отобразить различный код выполнения для каждого заданного значения для переменной. В общем, оператор switch выглядит так:

switch (n)
{
case значение 1:
выполнение команд, если n = значение 1;
break;
case значение 2:
выполнение команд, если n = значение 2;
break;
// ...
//перечисление конкретных значений и команд - количеством не ограничено
default:
выполнение команд, в случае если n отличается от любого из вышеуказанных;
}

Как работает коммутатор: программа берет значение переменной n и начинает его сравнивать последовательно со значениями, описанными в case. Если какое-либо из этих значений соответствует значению n, будет выполнен соответствующий блок команд.

Ключевое слово break используется для завершения процесса, а не для выполнения командного блока из следующего случая, что является поведением по умолчанию для программы PHP.

Последний командный блок (default) будет выполнен, если значение n не найдено.


PHP циклы

Циклы позволяют выполнять определенную часть программы многократно – столько раз, сколько указано, либо до выполнения условия.

В PHP используются следующие типы циклов:

  • while – команды цикла будут выполняться, пока указанное в цикле условие имеет значение “истина” (true)
  • do… while – похоже на while, но цикл запускается до проверки условия. Это означает, что цикл будет запущен хотя бы один раз, даже если условие имеет значение false;
  • for – цикл вращается заданное количество раз;
  • foreach – команды цикла выполняются один раз для каждого элемента массива.

Цикл While

Цикл while, который выполняется при выполнении условия true, имеет следующую конструкцию:

while (условие)
{
команды для выполнения;
}

Вот конкретный пример цикла while, который будет выводить квадраты чисел от 10 до 20:

<?php
$i=10;
while ($i<=20)
{
echo $i." квадраты чисел ".$i*$i.<br/>;
$i++;
}
?>

Цикл do…while

В отличие от while, командный блок do … while выполняется до проверки условия. Если условие истинно, командный блок будет выполнен снова (и условие будет проверено снова), в противном случае программа завершит цикл и перейдет к следующей команде, если таковая имеется. Вот конкретный пример do … while:

<?php
$i=10;
do
{
$i++;
echo $i." квадраты чисел ".$i*$i.<br/>
}
while ($i<=20)
?>

Программа очень похожа на пример цикла while, но поскольку проверка значения числа i выполняется последней, квадрат числа 21 также будет выведен.

Цикл for

Цикл for используется для выполнения командного блока указанное количество раз. Наиболее общая структура цикла for выглядит так:

for (начальное значение; условие; увеличение счетчика)
{
блок команд цикла;
}

Цикл for чаще всего используется в сочетании с неким типом счетчика переменных, который определяет количество повторений в командном блоке.

  • начальное значение наиболее часто значение, которое изначально получает счетчика цикла.
  • условие – это выражение, значение которого проверяется – если true, то есть условие выполнено, блок команды цикла будет выполнен, в противном случае цикл будет завершен. Наиболее часто используемым выражением является значение счетчика.
  • увеличение счетчика – чаще всего команда в этом месте используется для увеличения значения счетчика – выполняется в конце каждого повторения цикла.

Вот одно конкретное применение цикла for, который выводит на экране третью степень чисел от 101 до 105:

<?php
for ($i=101; $i<=105; $i++)
{
echo $i." третья степень ".$i*$i*$i."<br/>";
}
?>

Цикл foreach

Цикл foreach используется для применения одинаковой последовательности команд к каждому из элементов массива. В общем, цикл foreach выглядит следующим образом:

foreach ($ имя_массива as $ значение) {командный блок; }

Цикл foreach работает, принимая элемент массива (начиная с первого), сохраняя его значение в виде переменной $, которая используется для обработки блоком команд, и после завершения всех команд из цикла он начинается заново, но со следующим элементом – пока все элементы массива не будут обработаны.

Вот один конкретный пример использования цикла foreach, который в этом случае будет использоваться для вывода значений элементов массива $ stolici:

<? PHP
$ stolici = array ("Рим", "Мадрид", "Берлин");
foreach ($ stolici as $ value)
{
echo "Одна из столиц, расположенных в Европе это:". $ value. "<br/>";
}
?>

Акция! Сайт + логотип + продвижение всего за 29000!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получить предложение

Pin It on Pinterest