循环插入两个表单域


Insert two form fields together in loop

我有两个表单字段"名字"和"姓氏" 我还可以克隆这两个字段以在一次提交中添加更多用户。我希望每条记录在插入数据库后都有自己的 ID。但是,我看不到让它在循环中一次插入两个值。

我的表单字段是

 <input type="text" name="firstname_0" size="35" value="" />
 <input type="text" name="lastname_0" size="35" value="" />

每次我想添加其他用户时,名称都会自动递增firstname_1、lastname_1等......

我想在一个表单提交中添加 1 个或无限个用户。

任何帮助将不胜感激。

我尝试使用 foreach(( 和 while 但无法理解这个概念。

在输入的名称属性中使用数组。

<input type="text" name="users[0]['firstname']" size="35" value="" />
<input type="text" name="users[0]['lastname']" size="35" value="" />
<input type="text" name="users[1]['firstname']" size="35" value="" />
<input type="text" name="users[1]['lastname']" size="35" value="" />

然后:

foreach ($_POST['users'] as $user) {
}

我建议用数组更改输入字段

<input type="text" name="firstname[0]" size="35" value="" />
<input type="text" name="lastname[0]" size="35" value="" />

并且您不断添加输入以增加其键

<input type="text" name="firstname[1]" size="35" value="" />
<input type="text" name="lastname[1]" size="35" value="" />
......
<input type="text" name="firstname[2]" size="35" value="" />
<input type="text" name="lastname[2]" size="35" value="" />

然后在PHP上,您可以轻松处理数据。

$firstName = $_POST['firstname'];
$lastName  = $_POST['lastname'];
.... do some checks ....
foreach ($firstName as $key => $name)
{
     insert_to_db($name, $lastName[$key]);
}
<input type="text" name="user[][firstname]" size="35" value="" />
<input type="text" name="user[][lastname]" size="35" value="" />

像这样使用您的输入..

超过print_r($_POST["用户"](;你会看到发生了什么..

<input type="text" name="firstname[]" size="35" value="Waqar" />
<input type="text" name="lastname[]" size="35" value="Alamgir" />

<input type="text" name="firstname[]" size="35" value="Natasha" />
<input type="text" name="lastname[]" size="35" value="Milla" />