На протяжении этой главы мы создавали массивы только внутри РНРскрипта.
Однако можно создать массив и послать его в PHPсценарий непосредственно
из HTMLформы. Кодирование в таком случае только немного сложнее, чем
было до этого. Перепишем страницу с обратной связью из главы 3, чтобы она
сразу генерировала массив вместо отдельных переменных.
Создание массива через HTMLформу
- Создайте новый HTMLдокумент в текстовом редакторе.
- Напишите стандартный HTMLзаголовок.
- Откройте HTMLформу.
- Создайте три окна для ввода текста с массивами для атрибутов имени.
- Создайте текстовую область как часть массива.
- Сохраните сценарий как form.html (листинг 7.8) и загрузите его на сервер.
Листинг 7.8 * Это HTMLформа с массивом для ввода имен. Нет необходи
мости специфицировать ключи для каждого поля, можно просто пометить каж
дое поле Array [ ], и тогда имя будет размещено в массиве Array [ 0 ], фамилия
в Array [ 1 ], адрес электронной почты в массиве Array [2 ] и комментарии
в Array [3]. - Создайте новый PHPдокумент в текстовом редакторе.
<HTMLxHEADxTITLE>HTML Form</TITLEx/HEADxBODY>
<FORMACTIQN="HandleForm.php" METHOD=POST>
First Name <INPUT TYPE=TEXT NAME="Array[FirstName]" SIZE=20xBR>
Last Name <INPUT TYPE=TEXT NAME="Array[LastName]" SIZE=40xBR>
' ' Email Address <INPUT TYPE=TEXT NAME="Array[Email]" SIZE=60xBR>
В исходной форме, созданной раньше, сценарий HandleForm.php получал
переменные $FirstName и $LastName. Теперь он примет $Array [$FirstName],
$Array [$LastName] и т.д., что автоматически создаст проиндексированный
соответствующим образом массив. Мы рпустили кавычки в ключе массива
(было бы $ Array [" $LastName" ]), что вполне приемлемо и помогает избежать
синтаксических ошибок.
Comments <TEXTAREA NAME="Array[Comments]" ROWS=5 COLS=40>
</TEXTAREAxBR>
1 <HTML>
2 <HEAD>
3 <TITLE>HTML Form</TITLE>
4 </HEAD>
5 <BODY>
6 <FORM ACTION="HandleForm,php" METHOD=POST>
7 First Name <INPUT TYPE=TEXT NAME="Array[FiratName]° SIZE=20xBR>
8 Last Name <INPUT TYPE=TEXT NAME="Array[LastName]" SIZE=40xBR>
9 Email Address <INPUT TYPE=TEXT NAME="Array[Email]" SIZE=60xBR>
10 Comments <TEXTAREA NAME="Array[Conments]" ROWS=5 COLS=40>
</TEXTAREA><BR>
11 <INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
12 </FORM>
13 </BODY>
14 </HTML>
Необходимо также написать новую страницу HandleForm.php и отразить
в ней изменения, произошедшие в сценарии form.html.