Как передавать php параметры
Содержание:- Передача php-параметров скрипту: методы GET и POST
- Вам понадобятся базовые знания языков PHP и HTML.
- Метод GET
- Например, URL может выглядеть так:
- Метод POST
Передача php-параметров скрипту: методы GET и POST
Очень часто возникает необходимость предать данные из клиентского браузера серверному файлу со сценарием обработки этих данных. Давайте рассмотрим - как именно организовать передачу php-параметров скрипту.
Вам понадобятся базовые знания языков PHP и HTML.
Метод GET
Для транспортировки данных из веб-форм в протоколе HTTP (HyperText Transfer Protocol) предусмотрены два метода - GET и POST. Различаются они способом передачи от клиентского приложения (браузера) приложению серверному (исполняемому php-скрипту).
Метод GET задействует для этого адресную строку. То есть прямо к адресу скрипта (или URL - Uniform Resource Locator) дописываются через знак вопроса (?) имена и значения передаваемых ему переменных.
Например, URL может выглядеть так:
http://google.com/search.php?num=30&newwindow=1&safe=off
Здесь скрипту search.php передаётся переменная с именем num и значением равным 30, переменная newwindow со значением 1 и переменная safe со значением off. Сервер, получив такой запрос, по знаку "?" отделяет адрес файла, а всё остальное делит на пары имён и значений переменных. Полученными парами заполняется массив $_GET, из которого их и сможет извлечь указанный в адресе php-скрипт.
В простейшем виде html-код формы для отправки этих данных из браузера на сервер методом GET мог бы выглядеть так:
<form action="search.php" method="GET">
<input type="text" name="num">
<input type="text" name="newwindow">
<input type="text" name="safe">
<input type="submit" value="Submit">
</form>
А простейший php-скрипт для приёма этих данных так:
<?php
$num = $_GET['num'];
$newwindow = $_GET['newwindow'];
$safe = $_GET['safe'];
?>
Наиболее существенные недостатки передачи переменных методом GET:
- ограниченный объём данных, так как длина URL не может быть больше 255 знаков;
- не все символы html-кода могут быть переданы этим методом;
- передаваемые данные видны пользователю, что не всегда приемлемо с точки зрения безопасности.
Метод POST
Этих неудобств и ограничений можно избежать, если воспользоваться другим методом - POST. Он использует для передачи данных специальные области сетевых пакетов - заголовки. Во всём остальном различия этих методов минимальны - в приведённой выше форме отправки данных изменится только название метода:
<form action="search.php" method="POST">
<input type="text" name="num">
<input type="text" name="newwindow">
<input type="text" name="safe">
<input type="submit" value="Submit">
</form>
А php-скрипте только имя массива данных:
<?php
$num = $_POST['num'];
$newwindow = $_POST['newwindow'];
$safe = $_POST['safe'];
?>