Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по PHP.doc
Скачиваний:
198
Добавлен:
04.06.2015
Размер:
2.76 Mб
Скачать

Глобальные предопределенные массивы

В PHPимеются предопределенные массивы с глобальной областью видимости. Их

называют автоглобальнымиилисуперглобальнымимассивами, поскольку они доступны из любого сценария на языкеPHP.

Из большого перечня таких массивов нас будут интересовать только два. Они хранят значения элементов формы HTML-документа, переданные из нее сценариюPHPдля обработки на сервере:

- $_GET– содержит данные, переданные в сценарий как частьURL-адреса. Это происходит в том случае, когда в форме определен метод передачи METHOD=GET,

- $_POST– содержит данные, переданные из формы методомPOST.

Оба этих массива являются ассоциативными, причем индексы их элементов – это имена элементов (полей) формы, задаваемые атрибутамиNAME, а значения – переданные из этих полей данные.

Например, серверному сценарию из HTML-формы было передано методомPOSTсодержимое элемента формы с атрибутомNAME=”user_data”.Это значение может быть получено в сценарии как$_POST[“user_data”]– элемент массива$_POSTс индексомuser_data”.

Пример: создать форму со следующими элементами (полями) и передать их значенияPHP-сценарию методомPOST:

<HTML>

<HEAD>

<TITLE>

Работа с формой

</title>

</head>

<BODY BGCOLOR=silver TEXT=blue>

<H3 ALIGN=center>

Работа с формой

</h3>

<H4 ALIGN=center>

Работу выполнил<BR>

студент группы ИС-09<BR>

Пупкин Василий<BR>

</h4>

<P>

<FORM METHOD=POST NAME="forma_1">

Ваша группа:<BR>

<SELECT NAME="GRUPPA" SIZE=1>

<OPTION VALUE=0>

<OPTION VALUE=1>ПИ-11

<OPTION VALUE=2>ИС-11

<OPTION VALUE=3>ИСс-10

<OPTION VALUE=4>ИС-09

</select>

<BR>

Ваша фамилия:

<INPUT TYPE=TEXT NAME="FAM" VALUE="" SIZE=20>

<BR>

<P>

<FIELDSET WIDTH=100>

<LEGEND>

Владение алгоритмическим языком:

</legend>

<BR>

<!--имя для всех CHECKBOX одно - массив LANG[]-->

<INPUT TYPE=CHECKBOX NAME=LANG[] VALUE=1>Pascal<BR>

<INPUT TYPE=CHECKBOX NAME=LANG[] VALUE=2>C<BR>

<INPUT TYPE=CHECKBOX NAME=LANG[] VALUE=3>C++<BR>

<INPUT TYPE=CHECKBOX NAME=LANG[] VALUE=4>JAVA<BR>

<INPUT TYPE=CHECKBOX NAME=LANG[] VALUE=5>PHP<BR>

</fieldset>

<BR>

Форма обучения:<BR>

<!--имя для всех радиокнопок одно - FORMA_OBUCH-->

<INPUT TYPE=RADIO NAME=FORMA_OBUCH VALUE=1>очная<BR>

<INPUT TYPE=RADIO NAME=FORMA_OBUCH VALUE=2>заочная<BR>

<BR>

<INPUT TYPE=SUBMIT VALUE="Отправить">

<BR>

<INPUT TYPE=RESET VALUE="Очистить">

<BR>

<?php

echo "<BR>Данные, полученные из формы:<BR>";

foreach ($_POST as $index=>$value)

{

echo "$index=>$value";

echo "<BR>";

}

echo "<BR>";

echo 'Выбранные CHECKBOX в массиве $_POST["LANG"]:<BR>';

foreach ($_POST["LANG"] as $index=>$value)

{

echo "$index=>$value";

echo "<BR>";

}

echo "<BR>";

echo 'Общая структура массива $_POST:<BR>';

var_dump($_POST);

echo "<BR>";

?>

</form>

</body>

</html>

Результат работы программы:

Работа с формой Работу выполнил студент группы ис-09 Пупкин Василий

Данные, полученные из формы: GRUPPA=>4 FAM=>Пупкин LANG=>Array FORMA_OBUCH=>1 Выбранные CHECKBOX в массиве $_POST["LANG"]: 0=>1 1=>2 2=>5 Общая структура массива $_POST: array(4) { ["GRUPPA"]=> string(1) "4" ["FAM"]=> string(6) "Пупкин" ["LANG"]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "5" } ["FORMA_OBUCH"]=> string(1) "1" }