время
|
|
Глава 59. Общая 64
type="image">, но переменные $foo.x и $foo.y недоступны. $_GET['foo.x'] тоже не существует. Где они?
При отправке формы, вместо стандартной кнопки посылки возможно использовать изображение с тэгом как:
<input type="image" src="image.gif" name="foo" />
Когда пользователь щёлкает где-либо на картинке, серверу будет послана сопутствующая форма с двумя дополнительными переменными: foo.x и foo.y.
Так как имена foo.x и foo.y нелегальны в PHP, они автомагически превращаются в foo_x и foo_y. То есть, точки заменяются на подчёркивание. Вы обращаетесь к этим переменным так же как к любым другим, описанным в разделе о получении переменных извне PHP. Например, $_GET['foo_x'].
Замечание: Пробелы в именах переменных запроса преобразуются в подчёркивания.
66.3. Как создать массивы в HTML <form>?
Для того, чтобы результаты <form> были посланы вашему PHP скрипту как массив, именуйте элементы <input>, <select> или <textarea> следующим образом:
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
Заметьте квадратные скобки после имени переменной, это делает её массивом. Вы можете сгруппировать элементы в массив, присваивая одно и тоже имя разным элементам:
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyOtherArray[]" />
<input name="MyOtherArray[]" />
Это создаст два массива, MyArray и MyOtherArray, которые будут посланы PH