【发布时间】:2015-01-07 11:09:48
【问题描述】:
我正在生成一个表单字段,并且我假设我需要为每个表单字段设置不同的名称,因此我将每个单独循环迭代的 ID 添加到每个字段的名称中。
问题是 POST 提交数组都混在一起了,我不知道如何用单独的子数组分成一个数组:
为每个字段名称传递具有特定 ID 的循环创建字段:
function display(arrayObject) {
$token = md5(uniqid());
$_SESSION['token'] = $token;
echo('<form></table>');
foreach($arrayObject as $field) {
echo('<tr><td><a href="index.php?deletefield='.$field['id'].'&deletetoken='.$deletetoken.'">X</a></td>
<td><input type="text" name="order'.$field['id'].'" value="'.$field['orderid'].'"></td>
<td><input type="text" name="name'.$field['id'].'" value="'.$field['name'].'"></td>
<td><input type="text" name="type'.$field['id'].'" value="'.$field['type'].'"></td>
<td><input type="text" name="length'.$field['id'].'" value="'.$field['length'].'"></td>
<td><center><input type="checkbox" name="required'.$field['id'].'" value="'.$field['required'].'" checked></center></td>
<td><input type="text" name="description'.$field['id'].'" value="'.$field['description'].'"></td></tr>');
}
echo('<tr><td colspan="7"><br><center><input type="hidden" name="token" value="'.$token.'">
<input type="submit" value="Save Changes"></td></tr>
</table></form>');
}
返回 POST 数组:
Array (
[order1] => 0 [name#1] => token [type1] => hidden [length1] => 100 [description1] => some text.
[order3] => 1 [name3] => firstname [type3] => text [length3] => 100 [required3] => 1 [description3] => first name
[order2] => 2 [name2] => lastname [type2] => text [length2] => 100 [required2] => 1 [description2] => last name
[token] => edc4e81c4391269886029896795d0e2d
)
以及我需要什么,以便循环遍历这组数据:
Array (
Array ( [order] => 0 [name] => token [type] => hidden [length] => 100 [description] => some text. ),
Array ( [order] => 1 [name] => firstname [type] => text [length] => 100 [required] => 1 [description] => first name ),
Array ( [order] => 2 [name] => lastname [type] => text [length] => 100 [required] => 1 [description] => last name ),
Array ( [token] => edc4e81c4391269886029896795d0e2d )
)
【问题讨论】:
-
你的输入应该有一个数组名称:
<input name="order[id]" value="some value" />,这样会很容易。
标签: php html arrays forms post