Войти

Показать полную графическую версию : Как передать параметры из формы с множественным значением


koresaram
17-07-2006, 15:39
всем привет. задача: имеется форма типа

<select name="AGE">
<option value="">&nbsp;</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
</select>
</td>
<td>
<select name="ANIMAL[]" class='multiple' multiple size=4>
<option value="cat">Кошка</option>
<option value="dog">Собака</option>
<option value="fish">Рыбка</option>
</select>


требуется: получить из формы данные для скрипта проблема в том, что в категории ANIMAL при выборе двух зверей name для обоих один. вычитал, что


для multiple:
<select name="id[]" multiple="multiple">
<option value="0">0</option>
<option value="1">1</option>
</select>
данные из формы придут, как массив $id со значениями value.

но чего то я не понимаю как это сделать на Perl. подскажите как это мне в Perl реализовать то? желательно с пояснениями кода скрипта "для особо одаренных"

ivank
17-07-2006, 22:04
Написанное (про массив) верно для PHP. В общем случае всё, что выбрано multiple будет передано в строке запроса с олним именем несколько раз. То есть http://blah.com/script?ANIMAL=cat&ANIMAL=dog , например. Если ничего не выбрано, то ничего не будет передано. То есть достаточно проанализировать QUERY_STRING на предмет нахождения там нескольких строк ANIMAL=xxx. Можно это делать руками, но уверен, что стандартный модуль CGI это умеет.

JASterus
19-07-2006, 12:49
$ar_animals = array();
$ar_animals = $_POST['animals'];
и т.д. это на пхп, не думаю, что на перле будет сильно отличаться.

E-mail
22-07-2006, 13:06
все данные передаются с заголовкками, методом пост или гет, например,
можно анализировать заголовки спомощью собственного алгоритма, налюбом языке, или использовать встроенные функции языка если они есть, зависит от языка




© OSzone.net 2001-2012