PHP foreach循环与表单数据

时间:2014-02-18 19:28:51

标签: php html arrays forms foreach

我试图通过php从html表单获取数据,并为每个输入通过循环x次。

这是代码:

    foreach ($_GET['first_input_field'] as $val)
{
$temp_second_field = $_GET['second_input_field'][$value];
for ($i = 0 ; $i <= $temp_second_field ; $i++)
{

echo $val;

   }
$i=0;
}

形式:

<input type="text" name="first_input_field[1]" id="field_1" value="Text 1"><input type="number" name="second_input_field[1]" min="1" max="4">
<input type="text" name="first_input_field[2]" id="field_2" value="Text 1"><input type="number" name="second_input_field[2]" min="1" max="4">
<input type="text" name="first_input_field[x]" id="field_x" value="Text 1"><input type="number" name="second_input_field[x]" min="1" max="4">

表单有一个+按钮,可以添加两个字段(自动增加first_input_field和second_input_field数字)。

我试图重复first_input_field值x次,其中x是second_input_field值 然后回应它。

但我得到Undefined index:错误。 $temp_second_field = $_GET['second_input_field'][$value];

Ty提前帮助。

2 个答案:

答案 0 :(得分:3)

不要在HTML元素名称中添加数字:

<input type="text" name="first_input_field[]" id="field_1" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">
<input type="text" name="first_input_field[]" id="field_2" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">
<input type="text" name="first_input_field[]" id="field_x" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">

编辑:除此之外,您使用未在代码中设置的$value来循环使用内容,实际上不需要for循环:

foreach ($_GET['first_input_field'] as $k=>$val) {
    $count = $_GET['second_input_field'][$k];
    str_repeat($val, $count);
}

答案 1 :(得分:0)

尝试更改

$temp_second_field = $_GET['second_input_field'][$value];

$temp_second_field = $_GET['second_input_field'][$val];