php表单发布在插入过程中使用for循环失败


php Form posting fails during insert using for loop

发布表单后,我将运行for循环在表中插入值。

在下面的示例中,它将停止执行name_4。

如何解决这个问题?

<input type ="text" name="name_0" value="" >
<input type ="text" name="name_1" value="" >
<input type ="text" name="name_3" value="" >
<input type ="text" name="name_4" value="" >
array
(
[name_0] => sometext1
[name_1] => sometext2
[name_3] => sometext3                   
 [name_4] => sometext4           
)        
for($i=0;$i<=3;$i++)
{
    "insert into table(field) values('".$_REQUEST['name_'$i]."')"; 
}

由于您的代码无论如何都不起作用,我将写一份关于如何做到这一点的建议,您可以接受它,也可以放弃它。首先,更改您的输入如下:

<input type ="text" name="name[0]" value="" />
<input type ="text" name="name[1]" value="" />
<input type ="text" name="name[3]" value="" />
<input type ="text" name="name[4]" value="" />

注意我是如何将name_0更改为name[0]等的。然后,您的php可以像这样工作:

foreach ($_POST['name'] as $name=>$value) {
  //$name will now contain "0","1","3","4"
  //$value will contain each value
  echo "insert into table(field) values('".$value."')"; 
}

这个例子没有任何卫生投入,它只是一个你可以继续工作的例子,但如果你问我,它比你提供的更好、更干净。您不必担心跳过的值、丢失的东西等。