2012-02-20 2 views
3

Я получил HTML формы, которую я цикл, как это:Как получить vars из замкнутой html-формы?

for($i=0;$i<10;$i++){ 
    echo '<input type="text" name="field'.$i.'">'; 
} 

тогда я сделать и скрытый вход с графским варом, который говорит, что существует 10 таких полей ввода. но теперь я hav $field0 до $field9, и я не знаю, как я могу снова получить вход в цикл for.

благодарит за вашу помощь!

ответ

4

Используйте имена, как это в ваших полях ввода: ...'field['.$i.']'...

Таким образом, в вашем $ _POST они будут отображаться в массиве для вас, и вы можете петлю над ними, как:

foreach ($_POST['field'] as $key => $value) 
{ 

} 
+1

это звучит очень просто :) Мне это нравится! – PPan

2

Прежде всего, вы должны использовать $ _POST, чтобы получить данные своей формы. то вы можете сделать это, делая

for($i=0;$i<$_POST["count"];$i++) { 
    $var = $_GET["field".$i]; 
    //do something 
} 

Я предполагаю, что у вас есть переменная счетчика в $_POST["count"] вторых вы могли бы лучше использовать массивы в вашей петельной форме

<input type="text" name="field[0]"> 

то есть массив в $_POST["field"] с $_POST["field"][0] и $_POST["field"][1] и т. Д.

, но для ответа только что вы хотели, вы также можете использовать переменные переменные: здесь образец whic ч должен сделать это ясно

$a1 = "What"; 
$a2 = " are"; 
$a3 = " you"; 
$a4 = " doing?"; 
for($i=1;$i<=4;$i++){ 
    $txt .= ${"a".$i}; 
    echo $txt; 
} 

принимает в качестве выходного сигнала

"Что ты делаешь?"

:)

+0

ооо! большая часть информации :) Постарайтесь это! – PPan

+0

Я думаю, у вас должен быть выбор. Но, как я сказал, пожалуйста, используйте $ _POST :) – Neysor

2

в цикле:

echo '<input type="text" name="field['.$i.']">'; 

тогда, когда вы обрабатываете эту форму, когда он представляется:

$fields = $_POST['field']; 

«поле» переменная будет послана как массив в PHP

Смежные вопросы