Получение данных форм в PHP

Пусть у нас есть файл 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'; ?>

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

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