Организация полей форм в массивы
Существует интересная возможность организации данных, введенных в различные поля HTML-формы, в массивы. Например, имеется форма с двумя текстовыми полями — имя пользователя и его любимый цвет — и требуется запомнить эти данные в элементах массива $text['name'] и $text['color'] соответственно. Для этого в качестве имени поля следует использовать выражение с квадратными скобками вида textdata['name'], как показано на примере.
<html> <head> <title>Использование текстовых полей</TITLE> </head> <body> <center> <H1>Использование текстовых полей</H1> <FORM METHOD="POST" ACTION="phptextarray.php"> Введите Ваше имя: <INPUT NAME="textdata[name]" TYPE="TEXT"> <BR><BR> Ваш любимый цвет: <INPUT NAME="textdata[color]" TYPE="TEXT"> <BR><BR> <INPUT TYPE=SUBMIT VALUE="0K"> </FORM> </CENTER> </BODY> </HTML>
Соответствующая форма представлена на рисунке:
Для того чтобы сохранить введенные данные в массиве $text, используется соответствующий элемент массива $_REQUEST, как показано на примере:
<HTML> <HEAD> <TITLE>Поля формы - элементы массива</TITLE> </HEAD> <BODY> <CENTER> <H1>Поля формы - элементы массива</H1> Ваше имя: <?php $text = $_REQUEST['textdata']; echo $text['name'], "<BR>"; ?> Ваш любимый цвет: <?php echo $text['color'], "<BR>"; ?> </CENTER> </BODY> </HTML>
Результат выполнения примера приведен на рисунке:
Организация данных в массивы может быть удобна для построения сложных форм с большим количеством полей.
Автор: Стивен Хольцнер. Переводчик: С. Банников