Пусть у нас есть файл form.php
, а
в нем HTML форма, отправляющаяся на страницу
result.php
. На этой странице мы можем
получить данные формы с помощью специальных
переменных $_GET
, $_POST
и
$_REQUEST
.
Эти переменные содержат в себе массив данных отправленной формы. При этом ключами этого массива будут имена инпутов, а значениями - те данные, которые были введены в эти инпуты.
При этом, если форма была отправлена методом
GET, то данные будут в массиве $_GET
,
а если методом POST, то данные будут соответственно
в массиве $_POST
. А в переменной $_REQUEST
будут лежать данные формы, отправленные любым
из методов.
Пример на метод GET
Давайте посмотрим на примере. Пусть файл
form.php
содержит форму, отправляющуюся
методом GET
на страницу result.php
:
<form action="/result.php" method="GET">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Если в нашу форму в браузере вбить какие-то
данные и нажать на кнопку, то форма отправится
на страницу result.php
:
<?php
var_dump($_GET); // массив с ключами test1 и test2
var_dump($_POST); // пустой массив
var_dump($_REQUEST); // массив с ключами test1 и test2
?>
А можно вывести на экран содержимое определенного инпута:
<?php
echo $_GET['test1'];
?>
А можно взять содержимое и первого, и второго инпутов, слить их в строку и вывести на экран:
<?php
echo $_GET['test1'] . $_GET['test2'];
?>
Сделайте форму с тремя инпутами. Пусть в эти инпуты вводятся числа. После отправки формы выведите на экран сумму этих чисел.
Пример на метод POST
Пусть теперь наша форма отправляется методом POST:
<form action="/result.php" method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
В этом случае на странице результата данные
формы будут лежать в переменной $_POST
:
<?php
var_dump($_GET); // пустой массив
var_dump($_POST); // массив с ключами test1 и test2
var_dump($_REQUEST); // массив с ключами test1 и test2
?>
С помощью формы спросите у пользователя его имя и возраст. После отправки формы выведите эти данные на экран.
Пусть с помощью формы у пользователя спрашивается пароль:
<form action="/result.php" method="POST">
<input type="password" name="pass">
<input type="submit">
</form>
Пусть на странице с результатом в переменной хранится правильный пароль:
<?php
$pass = '12345';
?>
Сделайте так, чтобы после отправки формы на странице результата сравнивался пароль из переменной и пароль из формы. После сравнения сообщите пользователю, правильный он ввел пароль или нет.
С помощью трех инпутов спросите у пользователя год, месяц и день рождения пользователя. После отправки формы определите день недели, в который родился пользователь.