Php форма: PHP: Работа с формами — Manual

Содержание

PHP | Отправка форм. POST-запросы

Отправка форм

Последнее обновление: 15.03.2021

Одним из основных способов передачи данных веб-сайту является обработка форм. Формы представляют специальные элементы разметки HTML, которые содержат в себе различные элементы ввода — текстовые поля, кнопки и т.д. И с помощью данных форм мы можем ввести некоторые данные и отправить их на сервер. А сервер уже обрабатывает эти данные.

Создание форм состоит из следующих аспектов:

  • Создание элемента <form><form> в разметке HTML

  • Добавление в этот элемент одно или несколько поле ввода

  • Установка метода передачи данных. Чаще всего используются методы GET или POST

  • Установка адреса, на который будут отправляться введенные данные

POST-запросы

Итак, создадим новую форму. Для этого определим новый файл form.php, в которое поместим следующее содержимое:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<h4>Форма ввода данных</h4>
<form action="user.php" method="POST">
    <p>Имя: <input type="text" name="name" /></p>
    <p>Возраст: <input type="number" name="age" /></p>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

Атрибут action="user.php" элемента form указывает, что данные формы будет обрабатывать скрипт user.php, который будет находиться с файлом form.php в одной папке. А атрибут method="POST" указывает, что в качестве метода передачи данных будет применяться метод POST.

Теперь определим файл user.php, который будет иметь следующее содержание:


<?php
$name = "не определено";
$age = "не определен";
if(isset($_POST["name"])){
 
    $name = $_POST["name"];
}
if(isset($_POST["age"])){
 
    $age = $_POST["age"];
}
echo "Имя: $name <br> Возраст: $age";
?>

Для обработки запросов типа POST в PHP используется встроенная глобальная переменная $_POST. Она представляет ассоциативный массив данных, переданных с помощью метода POST. Используя ключи, мы можем получить отправленные значения. Ключами в этом массиве являются значения атрибутов name у полей ввода формы.

Например, так как атрибут name поля ввода возраста имеет значение age (<input type="number" name="age" />), то в массиве $_POST значение этого поля будет представлять ключ «age»: $_POST["age"]

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

true.

Теперь мы можем обратиться к скрипту form.php и ввести в форму какие-нибудь данные:

И по нажатию кнопки введенные данные методом POST будут отправлены скрипту user.php:

Необязательно отправлять данные формы другому скрипту, можно данные формы обработать в том же файле формы. Для этого изменим файл form.php следующим образом:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
$name = "не определено";
$age = "не определен";
if(isset($_POST["name"])){
 
    $name = $_POST["name"];
}
if(isset($_POST["age"])){
 
    $age = $_POST["age"];
}
echo "Имя: $name <br> Возраст: $age";
?>
<h4>Форма ввода данных</h4>
<form method="POST">
    <p>Имя: <input type="text" name="name" /></p>
    <p>Возраст: <input type="number" name="age" /></p>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

Поскольку в данном случае мы отправляем данные этому же скрипту — то есть по тому же адресу, то у элемента форма можно не устанавливать атрибут action.

Стоит отметить, что в принципе мы можем отправлять формы и запросом GET, в этом случае для получения тех же значений формы применяется массив $_GET, который был рассмотрен в прошлой теме:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
$name = "не определено";
$age = "не определен";
if(isset($_GET["name"])){
 
    $name = $_GET["name"];
}
if(isset($_GET["age"])){
 
    $age = $_GET["age"];
}
echo "Имя: $name <br> Возраст: $age";
?>
<h4>Форма ввода данных</h4>
<form method="GET">
    <p>Имя: <input type="text" name="name" /></p>
    <p>Возраст: <input type="number" name="age" /></p>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

PHP Обработка форм



Для сбора данных формы используются PHP-глобальные $ _жет и $ _пост.


PHP-Простая HTML-форма

В приведенном ниже примере показана простая HTML-форма с двумя полями ввода и кнопкой Submit:

Пример

<form action=»welcome.php» method=»post»>
Name: <input type=»text» name=»name»><br>
E-mail: <input type=»text» name=»email»><br>
<input type=»submit»>
</form>

</body>
</html>

Когда пользователь заполняет форму выше и нажимает кнопку Submit, данные формы отправляются для обработки в файл PHP с именем «Welcome. php». Данные формы передаются с помощью метода HTTP POST.

Для отображения отправленных данных можно просто повторить все переменные. «Welcome. php» выглядит следующим:

Welcome <?php echo $_POST[«name»]; ?><br>
Your email address is: <?php echo $_POST[«email»]; ?>

</body>
</html>

Выход может быть что-то вроде этого:

Такой же результат может быть достигнут с помощью метода HTTP GET:

Пример

<form action=»welcome_get.php» method=»get»>
Name: <input type=»text» name=»name»><br>
E-mail: <input type=»text» name=»email»><br>
<input type=»submit»>
</form>

</body>
</html>

и «welcome_get.php» выглядит так:

Welcome <?php echo $_GET[«name»]; ?><br>

Your email address is: <?php echo $_GET[«email»]; ?>

</body>
</html>

Приведенный выше код довольно прост. Однако, самое главное не хватает. Необходимо проверить данные формы для защиты сценария от вредоносного кода.

Подумайте безопасности при обработке PHP форм!

Эта страница не содержит никакой проверки формы, она просто показывает, как можно отправлять и извлекать данные формы.

Однако на следующих страницах будет показано, как обрабатывать PHP-формы с учетом безопасности! Правильная проверка данных формы важна для защиты вашей формы от хакеров и спамеров!



Получить VS. Post

Оба Get и POST создать массив (например, Array (ключ = > значение, Key2 = > value2, Key3 = > валуе3,…)). Этот массив содержит пары «ключ-значение», где ключи — это имена элементов управления формы, а значения — входные данные пользователя.

Как Get, так и POST рассматриваются как $ _жет и $ _пост. Это глобальные, что означает, что они всегда доступны, независимо от области видимости-и вы можете получить к ним доступ из любой функции, класс или файл без необходимости делать ничего особенного.

$ _жет-это массив переменных, передаваемых текущему сценарию через параметры URL.

$ _пост-это массив переменных, передаваемых текущему сценарию с помощью метода HTTP POST.


Когда использовать Get?

Информация, отправляемая из формы с методом GET, видна всем (все имена переменных и значения отображаются в URL-адресе). Get также имеет ограничения на объем отправляемой информации. Ограничение составляет около 2000 символов. Однако, поскольку переменные отображаются в URL-адресе, можно закладка страницы. Это может быть полезно в некоторых случаях.

Get может использоваться для отправки не конфиденциальных данных.

Примечание: Get никогда не должны использоваться для отправки паролей или другой конфиденциальной информации!


Когда использовать POST?

Информация, отправляемая из формы с методом POST, невидима для других (все имена и значения внедряются в тело HTTP-запроса) и не имеет ограничений на объем отправляемой информации.

Кроме того, POST поддерживает расширенные функциональные возможности, такие как поддержка многокомпонентного двоичного ввода при загрузке файлов на сервер.

Однако, поскольку переменные не отображаются в URL-адресе, невозможно закладка страницы.

Разработчики предпочитают публикацию для отправки данных формы.

Далее, давайте посмотрим, как мы можем обрабатывать PHP формирует безопасный способ!


Обработка форм сайта с помощью PHP – База знаний Timeweb Community

Введение

Формы используют для отправки какой-либо информации на сервер, которую необходимо как-то обработать.

Места использования форм:

  1. Создание регистрации и авторизации
  2. Создание блока комментариев
  3. Создание обращения в техническую поддержку (тикеты)

Создаём форму на HTML

Код формы необходимо помещать в <body> HTML документа.


<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="UTF-8">
    <title>Формы</title>
  </head>
  <body>
    Здесь должна быть ваша форма.
   </body>
</html>

Я пропущу скелет документа дальше, чтобы было более понятно.


<form action="" method="post">
<p>Введите логин: <input type="text" name="login"></p>
<p>Введите пароль: <input type="password" name="pass"></p>
<p><input type="submit" value="Отправить" name="done"></p>
</form>

В атрибут action нужно указать обработчик формы (PHP-скрипт). Если поле пусто, значит, обработку формы выполнил тот скрипт, в котором расположена сама форма. В атрибут

method нужно указать метод отправки формы (post или get). У каждого свои плюсы и минусы. Вкратце: post отправляет данные так, что пользователь не может их увидеть, а get — так, что они видны в URL-строке браузера.

Наглядный пример get:

Наглядный пример post:
Немного по PHP:

При отправке формы методом POST данные записываются в суперглобальный массив $_POST.

При отправке формы методом GET данные записываются в суперглобальный массив $_GET.

К суперглобальным массивам $_POST и $_GET нужно обращаться обычным способом (как вы делаете это и с обычными ассоциативными массивами) $массив[‘ключ’].

В форме мы сделали 3 <input>. Первые два — поле ввода логина и пароля. Третий — кнопка отправки формы.
Тег <input> имеет атрибут type=»». Для каждого случая указывают свой тип ввода. Допустим, text устанавливают для текста, submit — для отправки формы по атрибуту (action), а password — для пароля (чтобы он отображался звёздочками *).
Кроме того, тег <input> имеет атрибут name=»» и атрибут value=»». Value — стандартное значение элемента, name — предназначено для того, чтобы обработчик формы мог его идентифицировать.

Создаём обработчика формы

Мы перешли к самому интересному моменту статьи. Если мы обрабатываем форму на другой странице (action=»example.php»), то после нажатия кнопки подтверждения вас перекинет на указанную страницу.
Если action пуст, то страница с формой перезагрузится.
В самом верху скелета документа (перед <!DOCTYPE html>) открываем теги PHP и обрабатываем форму:


<?

// Если кнопка нажата, то выполняет тело условия
if (isset($_POST['done'])) {
echo 'кнопка обработчика была нажата!<br>';

// Если логин и пароль не пуст(есть значение), а также пароль не 123
if (!empty($_POST['login']) && $_POST['pass'] != 123 && !empty($_POST['pass'])) {
echo "Всё хорошо, все поля пройдены. ";
echo "Здесь должна быть ваша обработка формы. ";
echo "Занесение в базу данных, отправка сообщения и т.п.";
}

// Если логин пуст, тогда выводит сообщение
if ($_POST['login'] == '') {
echo 'Логин пуст!<br>';
}

// Если пароль популярный ||(или) пуст, тогда выводит сообщение
if ($_POST['pass'] == '123' || empty($_POST['pass'])) {
echo "Нельзя использовать популярные пароли. Придумайте свой!<br>";
}
}

?>

Теперь если форма не прошла проверку, то все данные стираются, и нужно их вводить заново.
Давайте доработаем форму, чтобы исправить это, а также изменим место вывода ошибок.

В самом верху PHP-тега заводим 2 новые переменные, которые по стандарту пусты:


$error_login = "";
$error_pas = "";

В проверке на пароль:


$error_pas .= "Нельзя использовать популярные пароли. Придумайте свой!<br>";

В проверке на логин:


$error_login .= 'Логин пуст!<br>';

.= означает то, что мы берём прошлую строку (пусто) и прибавляем к этому наше сообщение.

В форме HTML:

Добавляем после тега <input> вставку PHP (в данном случае <?= ?>), так как мы только выводим переменную. Суть проста: если ошибки в логине нет, тогда $error_login пуст, а следственно, ничего не выводится, иначе выводим там ошибку.


<p>Введите логин: <input type="text" name="login"><?=$error_login?></p>
<p>Введите пароль: <input type="password" name="pass"><?=$error_pas?></p>

Теперь доработаем форму, чтобы она сохраняла значения полей.

В самом начале добавляем 2 переменные:


$input_login ="";
$input_pass = "";

В начало проверки на ‘нажата ли кнопка отправки’ добавляем:


$input_login = $_POST['login'];
$input_pass = $_POST['pass'];

То есть мы заносим в переменные значения из суперглобального массива $_POST.

И немного изменяем нашу HTML-форму:


<form action="" method="post">
<p>Введите логин: <input type="text" name="login" value="<?=$input_login?>"><?=$error_login?></p>
<p>Введите пароль: <input type="password" name="pass" value="<?=$input_pass?>"><?=$error_pas?></p>
<p><input type="submit" value="Отправить" name="done"></p>
</form>

Добавляем тег value, чтобы указать стандартное значение поля. Теперь если выдаётся ошибка, то значения полей сохраняются, и пользователю нужно не заново их вводить, а только исправить ошибку.

Заключение

Как видите, создать хорошую форму на PHP не так уж и сложно. Проверки, которые я показал в этой статье, не обязательно должны быть. Вы можете придумывать свои (любые) проверки на поля ввода, используя PHP. Надеюсь, что вам понравилась моя статья, и вы выучили что-то новое. 

Всем спасибо за внимание!

Итоговый код страницы с формой + обработчика:

https://pastebin.com/N9WegitB

Основы работы с формами в PHP для новичков

Формы — это элементы HTML страницы, в которые пользователь может вводить данные, например, свое имя, фамилию, возраст, логин и пароль и так далее.

Эти данные затем могут быть получены в PHP и обработаны нужным нам образом.

К примеру, пользователь вводит свое имя и фамилию в форму, нажимает на кнопку отправки и введенные данные уходят на сервер в PHP. Там мы можем получить введенные имя и фамилию и, к примеру, сохранить их в базу данных.

Как сделать форму на HTML

Форма создается с помощью тега form. Этот тег имеет два важных атрибута.

Атрибут action задает адрес страницы сайта, на которую будут отправляться введенные данные. Если оставить этот атрибут пустым — форма отправится на текущую страницу сайта.

Атрибут method задает способ отправки формы. Может принимать значение GET или POST. При отправки методом GET данные из формы будут видны в адресной строке, а при отправке методом POST — не видны.

Имейте ввиду, что PHP код страницы с формой выполнится не один раз, как может показаться, а два раза — первый раз пользователь зайдет на страницу сайта, заполнит форму, нажмет на кнопку отправки, данные из формы отправятся на сервер и PHP код страницы начнет выполнятся сначала.

Поля формы

Внутри тега form можно располагать различные элементы формы: поле ввода input, кнопку отправки формы, многострочное поле ввода textarea и некоторые другие элементы, которые нам пока не нужны.

Пример формы

<form action="" method="GET">
	<input type="text" name="user"><br><br>
	<textarea name="message"></textarea><br><br>
	<input type="submit">
</form>

Как получить данные из формы в PHP

Мы можем получить данные, которые ввел пользователь в форму, в PHP коде. Это делается с помощью глобальных массивов $_GET, $_POST, $_REQUEST.

В $_GET будут лежать данные, отправленные методом GET, в $_POST будут лежать данные, отправленные методом POST, а $_REQUEST — данные, отправленные и тем, и другим методом одновременно.

Как именно это делается: пусть в форме есть инпут с атрибутом name=»user». Тогда после отправки этой формы мы можем получить данные из этого инпута таким образом: $_GET[‘user’] (или $_POST[‘user’], или $_REQUEST[‘user’]).

Сохраняем значения полей формы после отправки

Давайте сделаем так, чтобы при отправке формы не стирались значения из инпутов:

<form action="" method="GET">
	<input type="text" name="user" value="<?php echo $_REQUEST['user']; ?>">
	<input type="submit">
</form>

Пример выше будет генерировать предупреждение PHP при первом заходе на страницу — в случае, когда отправка формы еще не была сделана. Исправим это:

<form action="" method="GET">
	<input name="user" value="<?php if(isset($_REQUEST['user'])) echo $_REQUEST['user']; ?>">
	<input type="submit">
</form>

Дополнительные материалы

Рекомендую посмотреть видео из заочного курса: скачайте его по данной ссылке.

Что вам делать дальше:

Приступайте к решению задач по следующей ссылке: задачи к уроку.

Когда все решите — переходите к изучению новой темы.

Получаем данные от элементов формы с помощью PHP

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

Первое, что нам нужно — это создать форму:

<form action="app/check.php" method="post">

<p>Имя: <input name="name" type="text"></p>

<p>Фамилия: <input name="surname" type="text"></p>

<p>E-mail: <input name="email" type="text"></p>

<p>Сообщение: <br /><textarea name="message" cols="30" rows="5"></textarea></p>

<p><input type='submit' value='Отправить'></p>

</form>

Обратите внимание на строку action=»app/check.php» — это адрес обработчика формы, сюда будут отправляться данные формы, после нажатия кнопки Отправить. Также, на параметр name у полей формы, мы будем использовать эти имена при написании кода. Передавать данные будем методом — POST.

1. Давайте начнем. Создайте и откройте (через редактор) обработчик app/code.php — сначала, это просто пустая страница. Далее откройте тег PHP — <?php.

2. Нам нужно проверить, была ли отправлена форма, для этого мы будем использовать глобальную переменную $_SERVER и проверять REQUEST_METHOD

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    // наш код
}
?>

3. Дальше, если форма отправлена, мы можем получить данные от поля «Имя», для этого, какой-нибуть переменной присваиваем полученное значение от этого поля, например:

<?php
$name = $_POST['name']; 
?>

$_POST — переменная, в которой сохраняются данные, если форма была отправлена методом POST.

$_POST['name'] — получаем данные от поля name.

4. Тоже самое делаем и для остальных наших полей:

<?php
$name = $_POST['name'];

$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];
?>

5. Данные мы получили, теперь мы можем их вывести, для этого в страницу обработчика дописываем код:

<?php
$name = $_POST['name'];

$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message']; 

echo $name."<br />".$surname."<br />".$email."<br />".$message."<br />"; 
?>

Не рекомендуется просто так, без проверки, выводить введенные пользователем данные.
Пропускайте переменные хотя бы через функцию htmlspecialchars.

Вот так, можно получать данные введенные в элементы формы.

Посмотреть исходники

PHP форма

PHP $ _GET и $ _POST переменные используются для получения информации в виде, например, ввод данных пользователем.


PHP обработки формы

Одна вещь , очень важные вещи , которые следует обратить внимание при работе с HTML — формы, PHP может прийти из HTML элементов страницы формыавтоматически становятся доступными для PHP — скриптов.

примеров

Следующий пример содержит HTML-форму с двумя полями ввода и кнопку отправки.

form.html код файла выглядит следующим образом :

<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="welcome.php" method="post">
名字: <input type="text" name="fname">
年龄: <input type="text" name="age">
<input type="submit" value="提交">
</form>

</body>
</html>

Когда пользователь заполнить форму выше и нажмите кнопку отправки, данные формы будут отправлены в файл PHP с именем «welcome.php» из:

welcome.php файлы следующим образом:

欢迎 <?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?>  岁。

Демо доступ через браузер следующим образом:

Мы объясним в PHP $ _GET и $ _POST переменных в следующей главе.


Аутентификация с помощью форм

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

Если пользователь должен ввести в базу данных, вы должны рассмотреть вопрос об использовании проверки подлинности сервера. В аутентификации сервера сформировать хороший способ передать форму самостоятельно, вместо того, чтобы прыгать на другую страницу. Так что пользователи могут получить сообщение об ошибке в том же виде страницы. Пользователи также легче найти ошибки.

PHP и формы | PHP

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

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

Рассмотрим подробнее варианты для разных типов полей.

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

<form action='do.html' method='post'>
 <input type='text' name='txt[0]' value=''><br>
 <input type='text' name='txt[1]' value=''><br>
 <input type='text' name='txt[2]' value=''><br>
 <input type='text' name='txt[3]' value=''><br>
 <input type='text' name='txt[4]' value=''><br>
 <input type='submit' value='Отправить'>
</form>

Как видно из листинга, имена для элементов формы, с точки зрения PHP, являются элементами массива. Поэтому PHP-сценарий, который будет обрабатывать эту форму, будет воспринимать все множество текстовых полей этой формы как единый массив. К отдельным элементам можно обращаться по индексам или использовать перечисление при помощи команд list и each, как это сделано в следующем примере.

<?php
 while(list($key,$val) = each($txt))
  echo "ключ - $key, значение - $val<br>n";
?>

Переключателями (checkbox) в этой статье называются элементы, создаваемые тегам input со значением параметра type равным checkbox. Форма для использования переменного количества «переключателей» строится абсолютно так же. Обратите внимание, что выбор конкретного значения переключателя (то есть значение свойства value) не важен. Пример приведен в листинге ниже:

<form action='do.html' method='post'>
 <input type='checkbox' name='chb[0]' value='1'><br>
 <input type='checkbox' name='chb[1]' value='1'><br>
 <input type='checkbox' name='chb[2]' value='1'><br>
 <input type='checkbox' name='chb[3]' value='1'><br>
 <input type='checkbox' name='chb[4]' value='1'><br>
 <input type='submit' value='Отправить'>
</form>

Однако обработка такой формы отличается от обработки, описанной для текстовых полей. В данном случае необходимо определить, включил или нет посетитель сайта тот или иной переключатель. Если включил — то соответствующий элемент массива существует, если нет — то отсутствует. В следующем листинге приведен пример PHP сценария, который распечатывает включенные переключатели:

Перед тем как описывать обработку радио-кнопок необходимо вспомнить, как они работают. Суть радио-кнопок (элементы созданные тегами input со значением параметра type равным radio) заключается в том что, выбирая одну кнопку, пользователь автоматически снимает выделение с другой кнопки из этого же набора. Кнопки объединяются в набор очень просто: у всех кнопок в наборе одно и тоже имя.

А вот значения (то есть параметры value) у кнопок в наборе — разные. И на сайт будет отправлено значение выбранной кнопки с именем набора. Так же как и в случае с текстовыми полями и переключателями имена наборов радио-кнопок должны оформляться как имена элементов массива в PHP. Пример такой формы приведен в следующем листинге:

<form action='do.html' method='post'>
 // первый набор кнопок
 <input type='radio' name='rdi[0]' value='1'>
 <input type='radio' name='rdi[0]' value='2'>
 <input type='radio' name='rdi[0]' value='3'><br>
 // второй набор кнопок
 <input type='radio' name='rdi[1]' value='1'>
 <input type='radio' name='rdi[1]' value='2'>
 <input type='radio' name='rdi[1]' value='3'><br>
 // третий набор кнопок
 <input type='radio' name='rdi[2]' value='1'>
 <input type='radio' name='rdi[2]' value='2'>
 <input type='radio' name='rdi[2]' value='3'><br>
<input type='submit' value='Отправить'>
</form>

Обработка радио-кнопок объединяет идеи, использование при обработке, как текстовых полей, так и переключателей. Если автор html-страницы не установил значение по умолчанию, а пользователь не выбрал определенную кнопку в наборе радио-кнопок, то данный элемент будет отсутствовать в массиве (как для переключателей).

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

<?php
 while(list($key,$val) = each($rdi))
  echo "ключ - $key, значение - $val<br>n";
?>

Таким образом, ничего сложного в обработке сложных форм нет.

Регистрационная форма PHP с использованием методов GET, POST с примером

Что такое форма?

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

Формы

используются для получения ввода от пользователя и отправки его на веб-сервер для обработки.

На схеме ниже показан процесс обработки формы.

Форма — это HTML-тег, содержащий элементы графического пользовательского интерфейса, такие как поле ввода, переключатели флажков и т. Д.

Форма определяется с помощью тегов

, а элементы графического интерфейса пользователя определяются с помощью элементов формы, таких как ввод.

В этом руководстве вы узнаете:

Когда и почему мы используем формы?

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

Создать форму

Мы будем использовать HTML-теги для создания формы.Ниже приведен минимальный список вещей, которые вам понадобятся для создания формы.

  • Открытие и закрытие тегов формы
  • Форма отправки типа POST или GET
  • URL отправки, который будет обрабатывать отправленные данные
  • Поля ввода, такие как поля ввода, текстовые области, кнопки, флажки и т. Д.

Код ниже создает простую регистрационную форму



 Регистрационная форма 




     

Регистрационная форма

Имя:
Фамилия:

При просмотре приведенного выше кода в веб-браузере отображается следующая форма.

ЗДЕСЬ,

  • … — открывающий и закрывающий теги формы
  • действие = »форма_регистрации.php ”method =” POST ”> указывает целевой URL и тип отправки.
  • Имя / Фамилия: метки для полей ввода
  • — теги поля ввода

  • это новый тег строки
  • — это скрытое значение, которое используется для проверки того, была ли форма отправлена ​​или нет
  • — это кнопка, при нажатии на которую форма отправляется на сервер для обработки

Отправка данных формы на сервер

Атрибут действия формы указывает URL-адрес отправки, который обрабатывает данные.Атрибут метода указывает тип отправки.

PHP Метод POST

  • Это встроенная переменная суперглобального массива PHP, которая используется для получения значений, отправленных с помощью метода HTTP POST.
  • Доступ к переменной массива можно получить из любого скрипта в программе; он имеет глобальный охват.
  • Этот метод идеален, если вы не хотите отображать значения сообщения формы в URL-адресе.
  • Хороший пример использования метода post — отправка данных для входа на сервер.

Он имеет следующий синтаксис.

  

ЗДЕСЬ,

  • «$ _POST […]» — это массив PHP
  • «’ Имя_переменной ’» — это имя переменной URL.

Метод PHP GET

  • Это встроенная переменная суперглобального массива PHP, которая используется для получения значений, отправленных с помощью метода HTTP GET.
  • Доступ к переменной массива можно получить из любого скрипта в программе; он имеет глобальный охват.
  • Этот метод отображает значения формы в URL-адресе.
  • Он идеально подходит для форм поисковых систем, поскольку позволяет пользователям отмечать результаты в закладках.

Он имеет следующий синтаксис.

  

ЗДЕСЬ,

  • «$ _GET […]» — это массив PHP
  • «’ Имя_переменной ’» — это имя переменной URL.

Методы GET и POST

. . .
ПОСТ ПОЛУЧИТЬ
Значения, не отображаемые в URL-адресе Значения, отображаемые в URL-адресе
Не имеет ограничений на длину значений, поскольку они отправляются через тело HTTP Имеет ограничение на длину значений обычно 255 символов.Это потому, что значения отображаются в URL-адресе. Обратите внимание, что верхний предел символов зависит от браузера.
Имеет более низкую производительность по сравнению с методом Php_GET из-за времени, затраченного на инкапсуляцию значений Php_POST в теле HTTP Имеет высокую производительность по сравнению с методом POST благодаря простоте добавления значений в URL-адрес.
Поддерживает множество различных типов данных, таких как строковые, числовые, двоичные и т. Д. Поддерживает только строковые типы данных, поскольку значения отображаются в URL-адресе
Результаты не могут быть занесены в книгу с пометкой Результаты можно пометить в книге благодаря видимости значений в URL-адресе

На приведенной ниже диаграмме показана разница между get и post

Обработка данных регистрационной формы

Регистрационная форма отправляет данные самой себе, как указано в атрибуте действия формы.

После отправки формы значения заполняются в суперглобальном массиве $ _POST.

Мы будем использовать функцию PHP isset, чтобы проверить, заполнены ли значения формы в массиве $ _POST, и обработать данные.

Мы изменим регистрационную форму, добавив в нее PHP-код, обрабатывающий данные. Ниже модифицированный код



 Регистрационная форма 





     // этот код выполняется при отправке формы

         

Спасибо

Вы зарегистрированы как

Вернитесь назад к форме

Регистрационная форма

Имя:
Фамилия:

ЗДЕСЬ,

Другие примеры

Простая поисковая машина

Мы разработаем простую поисковую систему, которая использует метод PHP_GET в качестве типа отправки формы.

Для простоты мы будем использовать оператор PHP If для определения вывода.

Мы будем использовать тот же HTML-код для формы регистрации выше и вносить в нее минимальные изменения.



 Простая поисковая система 




    

         

Результаты поиска для

Метод GET отображает свои значения в URL-адресе

К сожалению, по вашему поисковому запросу совпадений не найдено

Перейдите на назад к форме

Простая поисковая система - введите GET

Искать термин:

Просмотрите указанную выше страницу в веб-браузере

Будет показана следующая форма

Введите GET в верхнем регистре и нажмите кнопку отправки.

Будет показано следующее

На диаграмме ниже показан URL для результатов выше

Обратите внимание, что URL-адрес отображает значение search_term и form_submitted. Попробуйте ввести что-нибудь отличное от GET, затем нажмите кнопку отправки и посмотрите, какие результаты вы получите.

Работа с флажками, переключателями

Если пользователь не устанавливает флажок или переключатель, значение не отправляется, если пользователь выбирает флажок или переключатель, отправляется значение один (1) или истина.

Мы изменим код регистрационной формы и добавим кнопку проверки, которая позволяет пользователю согласиться с условиями обслуживания.



 Регистрационная форма 




    

        

            

Вы не приняли наши условия использования

Спасибо

Вы зарегистрированы как

Вернитесь назад к форме

Регистрационная форма

Имя:
Фамилия:
Согласен с Условиями использования:

Просмотрите форму выше в браузере

Введите имя и фамилию

Обратите внимание, что флажок Согласен с условиями обслуживания не установлен.

Нажмите кнопку «Отправить»

Вы получите следующие результаты

Нажмите на ссылку возврата к форме и установите флажок

.

Нажмите кнопку «Отправить»

Вы получите следующие результаты

Сводка

  • Формы используются для получения данных от пользователей
  • Формы создаются с использованием HTML-тегов
  • Формы могут быть отправлены на сервер для обработки с использованием метода POST или GET
  • .
  • Значения формы, отправленные с помощью метода POST, инкапсулируются в тело HTTP.
  • Значения формы, отправленные с помощью метода GET, добавляются и отображаются в URL-адресе.

Как получить доступ к отправленным данным формы в PHP

В этом руководстве вы узнаете, как собирать вводимые пользователем данные, отправленные через форму, с использованием суперглобальных переменных PHP $ _GET , $ _POST и $ _REQUEST .

Создание простой контактной формы

В этом руководстве мы собираемся создать простую контактную форму HMTL, которая позволяет пользователям вводить свои комментарии и отзывы, а затем отображать их в браузере с помощью PHP.

Откройте ваш любимый редактор кода и создайте новый файл PHP. Теперь введите следующий код и сохраните этот файл как «contact-form.php» в корневом каталоге вашего проекта.

  


    
     Контактная форма 


     

Свяжитесь с нами

Заполните эту форму и отправьте нам.

Расшифровка кода

Обратите внимание, что в открывающем теге

есть два атрибута:

  • Атрибут действия ссылается на PHP-файл «форма процесса.php «, который получает данные, введенные в форму, когда пользователь отправляет их, нажав кнопку отправки.
  • Атрибут метода указывает браузеру отправлять данные формы через метод POST.

Остальные элементы внутри формы являются основными элементами управления формы для получения пользовательского ввода. Чтобы узнать больше об элементах HTML-форм, ознакомьтесь с руководством по HTML-формам.


Сбор данных формы с помощью PHP

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

Суперглобал Описание
$ _GET Содержит список всех имен полей и значений, отправленных формой с использованием метода get (т. Е. Через параметры URL).
$ _POST Содержит список всех имен полей и значений, отправленных формой с использованием метода публикации (данные не будут отображаться в URL-адресе).
$ _ЗАПРОС Содержит значения переменных $ _GET и $ _POST , а также значения суперглобальной переменной $ _COOKIE .

Когда пользователь отправляет вышеуказанную контактную форму, нажимая кнопку отправки, данные формы отправляются в файл «process-form.php» на сервере для обработки.Он просто фиксирует информацию, отправленную пользователем, и отображает ее в браузере.

PHP-код файла «process-form.php» будет выглядеть примерно так:

  


    
     Контактная форма 


     

Спасибо

Вот предоставленная вами информация:

  1. Имя:
  2. Электронная почта:
  3. Тема:
  4. Сообщение:

Приведенный выше PHP-код довольно прост.Поскольку данные формы отправляются с помощью метода post, вы можете получить значение определенного поля формы, передав его имя в суперглобальный массив $ _POST и отобразив значение каждого поля с помощью оператора echo () .

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

Обработка форм PHP — GeeksforGeeks

if (isset ( $ _POST [ 'submit' ]))

80

if ((! isset ( $ _POST [ 'firstname' ])) || (! isset ( $ _POST [ 'lastname' ])) ||

(! Isset ( $ _POST [ 'адрес' ])) || (! Isset ( $ _POST [ 'адрес электронной почты ] ) ||

(! Isset ( $ _POST [ 'пароль' ])) || (! Isset ( $ _POST [ 'пол' ] )))

{

902 80 $ error = "*" . «Заполните все обязательные поля» ;

}

еще

{

$ имя первое = $

$ lastname = $ _POST [ 'lastname' ];

$ адрес = $ _POST [ 'адрес' ];

$ emailaddress = $ _POST [ 'emailaddress' ];

$ пароль = $ _POST [ 'пароль' ];

$ пол = $ _POST [ 'пол' ];

}

}

?>

title>

Обработка форм с использованием PHP

80 9fieldset>

"form1" method = "post" action = "form.php " >

if (isset ( $ _POST [ 'submit' ])

if (isset ( $ error ))

{

echo "

$ error . "

" ;

}

}

?>

5

9 name = "имя" />

"color: red;" > *



Фамилия:

" name = "фамилия" />

"цвет: красный;" > *



Адрес:

" " " name = "адрес" />

"color: red;" > *



Электронная почта:

<тип ввода = name = "emailaddress" />

"color: red;" > *



Пароль:

<тип ввода = пароль name = "пароль" />

"color: red;" > *



Пол:

09

значение = «Мужской»

name = «пол» > Мужской

<тип ввода = 9279 «радио» «радио» value = «Женский»

name = «Пол» > Женский



вход

4

4

04

04 type = "submit" value = "Submit" name = "submit" />

if (isset ( $ _POST [ 'submit' ]))

если (! Isset ( $ error ))

{

echo "

ВХОД ПОЛУЧЕН


"
;

echo "

" ;

echo «

» ;

echo "

" ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo "

" ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo "

" ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo «

» ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo "

" ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo «

» ;

echo "

" ;

эхо "

" ;

эхо «

» ;

echo "

" ;

echo "

" ;

эхо "

" ;

эхо "

Параметр Значение
Имя " . $ имя . "
Фамилия " . $ фамилия . "
Адрес " . $ адрес . "
Адрес электронной почты " . $ адрес электронной почты . "
Пароль " . $ пароль . "
Пол " . $ пол . "
" ;

}

}

?>

Studytonight

Когда мы разрабатываем веб-сайт или веб-приложение, нам часто приходится создавать формы для ввода данных от пользователей, например форму Login или форму Registration .

Создание формы на веб-странице выполняется с использованием HTML, в то время как PHP служит транспортом для этих значений с веб-страницы на сервер, а затем для дальнейшей обработки этих значений.

PHP предоставляет два суперглобала : $ _GET и $ _POST для сбора данных формы для обработки.


Понимание того, как работает HTML-форма

Давайте создадим простую HTML-форму и попытаемся понять, как она работает, какие различные атрибуты доступны в теге

и для чего они используются.

  
    

        
            Имя:  
Электронная почта:

В приведенном выше коде мы использовали тег

для создания HTML-формы с полями ввода для имени и электронной почты вместе с кнопкой отправки для отправки данных формы.

В теге у нас есть два атрибута: action и method , вы знаете, для чего они нужны?

  1. действие : Используя этот атрибут, мы можем указать имя файла, который будет собирать и обрабатывать данные формы. В приведенном выше примере мы указали имя файла Php.
  2. метод : Этот атрибут определяет способ отправки данных формы, независимо от того, будет ли он отправлен с помощью метода POST или метода GET .

Ниже мы имеем ту же форму с методом , что и GET ,

  
    

        
            Имя:  
Электронная почта:

Обработка форм PHP с помощью POST

Если мы укажем метод формы как POST , то данные формы будут отправлены на сервер с использованием метода HTTP POST.

Ниже у нас есть код для доступа к данным формы в файле Php, указанном в атрибуте action нашей HTML-формы.

  »;
echo "Ваш адрес электронной почты:". $ email. "
"; ?>

Привет, Studytonight Ваш электронный адрес: [email protected]

Вы получите вышеуказанный результат, если укажете имя как «Studytonight» и адрес электронной почты как «we @ studytonight».com ».


Обработка форм PHP с помощью GET

Если мы укажем метод формы как GET , то данные формы будут отправлены на сервер с использованием метода HTTP GET.

Ниже у нас есть код для доступа к данным формы в файле Php, указанном в атрибуте action нашей HTML-формы, на этот раз с использованием суперглобального GET.

  »;
echo "Ваш адрес электронной почты:". $ email. "
"; ?>

Привет, Studytonight Ваш электронный адрес: [email protected]

И снова результат остается прежним.

Первым шагом для обработки данных формы является выборка данных с помощью суперглобалов POST или GET, когда у вас есть данные, вы можете делать с ними все, что угодно, отображать их на своей веб-странице, сохранять данные в базе данных, выполнять проверки и т. Д.


GET vs. POST: когда использовать What!

Теперь вам должно быть интересно, какой из них мы должны использовать.Что ж, и GET, и POST используются для одной и той же цели, но работают по-разному.

Когда пользователь отправляет форму, значения из полей ввода сохраняются в массиве, например массив (ключ1 => значение1, ключ2 => значение2, ...) , а затем передаются в пункт назначения (файл Php) указан в атрибуте действия тега

.


Использование метода GET

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

Давайте рассмотрим простой пример, чтобы понять, ниже у нас есть простая HTML-форма,

  
    

        
            Имя:  
Возраст:

У нас есть два поля ввода в форме выше, одно - , имя , другое - , возраст .Когда мы нажимаем на «Отправить», мы будем перенаправлены на следующий URL-адрес, form-handler.php? Name = Studytonight & age = 5 , с добавлением данных формы к URL-адресу.

Отправка данных формы в качестве параметров URL-адреса иногда оказывается полезной, поскольку вы можете легко ссылок на закладки с данными формы , но для добавления параметров в URL-адрес существует ограничение в 2000 символов , следовательно, для форм с большим числом полей, это не рекомендуется, так как некоторые данные могут быть потеряны или отправка формы может привести к ошибке.

Файл Php form-handler.php будет выглядеть так:

    

Вас зовут Studytonight и вам 5 лет

Поскольку данные формы видны всем, потому что они отправляются как параметры URL, поэтому мы не должны использовать метод GET для формы с конфиденциальными данными , такими как пароли и т. Д.


Использование метода POST

Когда мы используем метод POST, массив пары ключ-значение (форма-данные), поступающий из HTML-формы, отправляется как часть HTTP-запроса, поэтому они невидимы для пользователя.

Кроме того, отсутствует ограничение на количество символов для передаваемой информации / данных.

Метод

POST также поддерживает загрузку составных данных формы , которые используются для загрузки файлов.

Мы рекомендуем использовать метод POST при работе с любым веб-приложением / проектом PHP.

Давайте рассмотрим простой пример, чтобы понять, ниже у нас есть простая HTML-форма,

  
    

        
Имя:
Возраст:

Файл Php form-handler.php будет выглядеть так:

    

Вас зовут Studytonight и вам 5 лет



Как проверить отправку формы в PHP?

Данная форма и задача - проверить, успешно ли отправлена ​​форма. Используйте программу PHP для серверной части, чтобы проверить отправку формы, а также HTML и CSS, чтобы создать форму как интерфейсную часть.

Синтаксис:

 if (! Пусто ($ _ POST))
if (isset ($ _ POST ['submit'])) 

Используйте эти два оператора, чтобы проверить, успешно ли отправлена ​​форма.

Примечание: Для запуска этой программы используйте локальный сервер, например WAMP или XAMPP.

Method-1:
Step 1: Создайте простую форму с помощью HTML и CSS.


На этом этапе сначала создайте html-форму, чтобы проверить, правильно ли она отправлена. Таким образом, создание формы с использованием тега form - это всего лишь базовое программирование. Используйте атрибут действия, чтобы отправить запрос в другой файл PHP. Метод используется для ПОЛУЧЕНИЯ информации или POST информации, введенной в форму.

< html >

< head название >

головка >

< действие = "get-метод.php " метод = " post " >

Автор: < input type = 2 " text " «автор»

заполнитель = «Имя автора» />

< br <

Номер опубликованной статьи: < ввод тип = «число»

имя = placeholder = placeholder "Опубликованная статья" 9028 0 />

< br > < br >

9027 «отправить» имя = «отправить» значение = «отправить» >

форма > 9 body >

html >

Вывод:

Шаг 2: Создать файл PHP5 для метода POST 7 использовать 7 метод в PHP, чтобы проверить, успешно ли отправлена ​​форма.В коде используйте функцию isset () для проверки метода $ _POST [‘submit’] . Помните, что вместо отправки укажите имя кнопки отправки. После нажатия кнопки отправки это действие будет работать как метод POST.

if (isset ( $ _POST [ 'submit' ]) { «GeeksforGeeks» ;

}

?>

Окончательный вывод на локальном хосте:

Метод 2:
Без использования отдельного файла PHP: Без использования отдельного файла, записанного HTML-код, в котором можно указать код для действия PHP в теге скрипта, как мы это делали в этой демонстрации.Оба этих кода отображают один и тот же результат, но их реализация различается.

Пример:

9164 9026

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


PHP форм из CodeCanyon

Фильтр (1) & Уточнить

Цена в долларах США без учета налогов

9 долларов США

7.5 тыс. Продаж

Последнее изменение: 13 июл 21

Конструктор форм PHP

  • Версия программного обеспечения: PHP 5.5 - 7.x
Типы файлов включены:
  • JavaScript JS
  • HTML
  • XML
  • CSS
  • филиппинских песо

20 долларов

4.4K Продажи

Последнее изменение: 29 июн 21

29 долларов США

3,4 тыс. Продаж

Последнее изменение: 16 сен 21

20 долларов

1.1000 продаж

Последнее обновление: 01 авг 21

6 долларов

1,1 тыс. Продаж

Последнее обновление: 07 апр 15

19 долларов США

995 Продажи

Последнее обновление: 04 июн 21

14 долларов США

965 Продажи

Последнее обновление: 06 дек 19

23 доллара США

751 Продажа

Последнее изменение: 15 сен 21

37 долларов США

446 Продажи

Последнее обновление: 04 сен 21

55 долларов США

434 Продажи

Последнее обновление: 25 ноя 16

Идеальная форма для связи с нами

  • Версия программного обеспечения: PHP 5.4 - 5,6
  • Программный фреймворк: CodeIgniter, Kohana, Laravel, Lithium, Солнечная, Symfony
Типы файлов включены:
  • JavaScript JS
  • JavaScript JSON
  • HTML
  • XML
  • CSS
  • филиппинских песо

6 долларов

351 Продажа

Последнее изменение: 25 мар 17

15 долларов США

343 Продажи

Последнее изменение: 17 окт 19

19 долларов США

343 Продажи

Последнее обновление: 27 ноя 20

Менеджер электронной почты Cpanel

  • Версия программного обеспечения: PHP 5.х - 7.х
Типы файлов включены:
  • JavaScript JS
  • JavaScript JSON
  • HTML
  • CSS
  • филиппинских песо

17 долларов США

337 Продажи

Последнее обновление: 05 апр 20

29 долларов США

326 Продажи

Последнее обновление: 12 авг 21

Just Forms Pro полный

  • Версия программного обеспечения: PHP 5.0 - 7.x, MySQL 4.x - 5.x
Типы файлов включены:
  • JavaScript JS
  • HTML
  • CSS
  • филиппинских песо

30 долларов США

319 Продажи

Последнее изменение: 20 окт 19

9 долларов США

315 Продажи

Последнее обновление: 03 апр 13

8 долларов США

307 Продажи

Последнее обновление: 03 фев 18

12 долларов США

289 Продажи

Последнее обновление: 01 сен 21

Защита файлов

  • Версия программного обеспечения: PHP 5.х - 5.3, MySQL 4.х - 5.х

8 долларов США

256 Продажи

Последнее изменение: 08 мая 13

19 долларов США

245 Продажи

Последнее обновление: 01 сен 21

14 долларов США

242 Продажи

Последнее обновление: 25 авг.

15 долларов США

232 Продажи

Последнее изменение: 25 мар 21

25 долларов США

226 Продажи

Последнее изменение: 17 сен 16

49 долларов США

218 Продажи

Последнее обновление: 04 сен 21

24 доллара США

211 Продажи

Последнее обновление: 03 фев 21

15 долларов США

187 В продаже

Последнее обновление: 09 ноя 17

15 долларов США

182 Продажи

Последнее изменение: 17 июля 21

15 долларов США

155 Продажи

Последнее обновление: 01 сен 21

16 долларов США

153 Продажи

Последнее изменение: 20 мар 17

Учебник по форме PHP

Форма PHP> Учебник по формам PHP

»Простая форма для связи

80 form action =

"get-метод.php " method = " post " >

Автор: " text " name = " author "

placeholder =
"Имя автора" />



Номер опубликованной статьи: " номер "

name = " num_article " placeholder = " Опубликованная статья " />

0 9

0


«submit» name = «submit» value = «Submit» >

9026host

 
 
 

Ваше имя:
Электронная почта:

Вам нравится этот сайт? Да Нет Не уверен

Ваши комментарии:

 
 

См. Пример HTML-кода выше? Это простая HTML-форма с два поля ввода, одна группа радиобоксов и текстовая область для комментариев.Давайте скажем, мы сохраняем этот код в файле с именем "test.html". При отправке данные отправляются в файл myform.php с использованием метода HTTP POST .

Все переменные, переданные текущему скрипту с помощью метода HTTP POST. хранятся в ассоциативном массиве $ _POST . Другими словами, в PHP вы можете получить доступ к данным из каждого поля, используя $ _POST ['NAME'], где NAME - это фактическое имя поля. Если вы отправите форму выше, у вас будет доступ к ряду значений массива $ _POST внутри myform.php файл:

Переменная Содержит значение
$ _POST ['ваше имя'] текстовое поле "ваше имя"
$ _POST ['email'] текстовое поле "электронная почта"
$ _POST ['likeit'] выбрал группу радиобоксов "likeit"
$ _POST ['комментарии'] textarea "комментарии"

При активированном register_globals все данные формы автоматически сохраняется в переменной $ name (где name - имя поля, например $ yourname или $ email), но это может привести к различным проблемам с безопасностью. и его следует избегать любой ценой! Эта функция теперь официально обесцениваются и по умолчанию отключены.

Теперь, если вы хотите отобразить отправленные данные, вы можете просто повторить все переменные, как показано ниже, , но нет! Почему? Читайте дальше.

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

 Вам нравится этот сайт?  

 Комментарии: 
 
 

Если вы сохранили этот код в файле с именем «myform.php ", заполнили поля в форме test.html и нажали "Отправить" кнопка, вывод myform.php будет выглядеть примерно так:

 Ваше имя: Джон Доу
Ваша электронная почта: [email protected] 
 Вам нравится этот сайт? Да 
 Комментарии:
Это мой комментарий ... 

Довольно просто, не правда ли? Но самого главного по-прежнему не хватает! Вам необходимо подтвердить отправленные данные для защиты вашего скрипта (и, следовательно, вашего веб-сайта и сервера) от вредоносного кода.

Допустим, вы отображаете все данные, отправленные с помощью формы в файле HTML (например, в гостевой книге). Теперь представьте, что кто-то набирает этот код вместо его имя:

  

Если он хранится в файле HTML, любой, кто попытается его просмотреть, будет перенаправлен на номер http://www.SPAM.com ! И это меньшее, что может случиться! Неспособность правильно проверить входные данные является основной причиной большинства уязвимости и эксплойты в скриптах PHP.Вы бы не хотели кого-то чтобы взломать ваш сайт, удалите все данные и загрузите свой собственный "u \ / \ / 3R3 h5> <0r3d!" домашняя страница, а вы?

Прочтите это руководство, чтобы узнать, как проверять входные данные формы. и защитите себя от подвигов.


»Уведомление об авторских правах

© 2008-2021 myPHPform.com. Все права защищены. Копирование или распространение любая часть этого веб-сайта без нашего письменного разрешения прямо запрещенный!

.
Оставить комментарий

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

Ваш адрес email не будет опубликован.

© 2019 Штирлиц Сеть печатных салонов в Перми

Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.