Передача переменных в PHP

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

Информация взята из сайта: http://lit.jinr.ru/ccic/usersguide/index.php?link=11_

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


Параметры PHP-программ

Передача параметров PHP-программам может выполняться различными способами:

* при обращении в CGI-режиме из HTML form-объектов c методами передачи get и post;
* при прямом обращении к PHP-программе в URL-строке.

Обработка входных параметров
Обработка входных параметров зависит от типа обращения.
1. Метод get
Пример HTML-страницы:









Имя счетчика: type="text"
name="counter">
ID счетчика: type="text" name="id">




Пример соответствующей PHP-программы:

$counter=$_GET['counter'];
$id=$_GET['id'];
PRINT "Counter= $counter ID= $id";
?>

2. Метод post
Пример HTML-страницы:

method="post" >

Имя счетчика:

ID счетчика:




Cоответствующая PHP-программа:

$counter=$_POST['counter'];
$id=$_POST['id'];
PRINT "Counter= $counter ID= $id";
?>

3. Задание параметров в URL-строке
Пример URL-строки:

http://www.jinr.ru/~petrov/php/testphp.php?counter=value1&id=value2

PHP-программа для обработки параметров этой строки будет такой же, как и для передачи параметров по методу get.

Кроме того, можно прочитать всю строку с входными параметрами:

$query_string = getenv ("QUERY_STRING");
PRINT "
query_string: $query_string
";

Результат выполнения:

query_string: counter=value1&id=value2

Допускается использование устаревших типов ассоциативных массивов для вышеприведенного примера:

$counter=$HTTP_GET_VARS['counter'];
или
$counter=$HTTP_POST_VARS['counter'];

Системные переменные
Системные переменные в PHP-программе устанавливаются также обращением к ассоциативным массивам. Ниже приведен пример использования системных переменных QUERY_STRING, REMOTE_ADDR, HTTP_USER_AGENT:

$query_string = getenv ("QUERY_STRING");
$address = $_SERVER["REMOTE_ADDR"];
echo "
ADDRESS: $address";
$remote =getenv("REMOTE_ADDR");
echo "
Remote2: $remote";
$userag = getenv("HTTP_USER_AGENT");
echo "
user agent= $userag
";
echo $_SERVER["HTTP_USER_AGENT"];

Примечание:

Полезной для уточнения состояния PHP-пакета является функция phpinfo();

Сессии в PHP
Есть такое ещё понятие, как сессии.
О них можно прочитать на сайте: http://www.phpfaq.ru/sessions

Пример программного кода с сессиями:
Ещё по этой тематике: http://www.realcoding.net/article/view/3969
см. http://corp2.net/blog/news_detail.php?ID=653

Комментарии

Популярные сообщения