Самым простым способом передачи данных на сервер приложению PHP извне представляет передача данных через строку запроса.
Строка запроса представляет набор параметров, которые помещаются в адресе после вопросительного знака. При этом каждый параметр определяет название и значение. Например, в адресе:
http://localhost/user.php?name=Tom&age=36
Часть ?name=Tom&age=36
представляет строку запроса, в которой есть два параметра name
и age
.
Для каждого параметра определено имя и значение, которые отделяются знаком равно. Параметр name
имеет значение "Tom", а параметр age
-
значение 36. Друг от друга параметры отделяются знаком амперсанда.
Например, определим следующий скрипт user.php со следующим содержимым:
<?php $name = "не определено"; $age = "не определен"; if(isset($_GET["name"])){ $name = $_GET["name"]; } if(isset($_GET["age"])){ $age = $_GET["age"]; } echo "Имя: $name <br> Возраст: $age"; ?>
Когда мы вводим в адресную строку браузера некий адрес и нажимаем на оправку, то серверу отправляется запрос типа GET. В PHP по умолчанию определен глобальный ассоциативный массив $_GET, который хранит все значения, передаваемые в запроса GET. Используя ключи передаваемых данных, мы можем из массива $_GET получить передаваемые значения.
При отправки строки запроса ключами в этом массиве будут названия параметров, а значениями - значения параметров.
Например, в строке запроса передается параметр name=Tom
. Соответственно, чтобы получить значение параметра name из запроса, обращаемся
по соответствующему ключу:
$name = $_GET["name"]; // Tom
Однако стоит учитывать, что в адресной строке необязательно будет использоваться строка запроса или конкретно данный параметр. Поэтому перед получением значения параметра сначала смотрим, а передан ли вообще такой параметр:
if(isset($_GET["name"])){
Теперь обратимся к этому скрипту, например, так http://localhost/user.php?name=Tom&age=36:
Если мы не передадим значения какого-либо параметра, то соответствующая переменная будет использовать значение по умолчанию: