我有点头疼。我的问题如下。我有三个发送邮件的站点,这三个站点都有几个默认的邮件地址。因此,在我的表单上,我使用现有地址创建输入,并允许用户更动态地创建。我可能会以下面的
结尾site 1 - address 1
site 1 - address 2
site 2 - address 1
site 2 - address 2
site 2 - address 3
等我的输入看起来像<input type="text" name="email[]"/>
我需要传递站点标识符和输入的地址到我的PHP脚本,并通过它循环添加列表到数据库
让我们假设一个基本的表单:
<form method="post">
<input type="text" name="email[]" />
<input type="text" name="email[]" />
</form>
你的email字段将在PHP中显示如下:
$_POST['email'][0]
$_POST['email'][1]
可以看到,所有电子邮件字段整齐地存储在数组$_POST['email']
中。PHP在将[]
附加到您的输入字段名称时自动执行此操作。
你也可以嵌套得更深:
<form method="post">
<input type="text" name="email[1][]" />
<input type="text" name="email[1][]" />
<input type="text" name="email[2][]" />
...
</form>
现在它们会出现在$_POST['email'][1][...]
, $_POST['email'][2][...]
等
可以指定数组键,也可以使其为二维数组:
name="site[1][]"
name="site[1][]"
name="site[2][]"
name="site[2][]"
然后循环使用key和value:
foreach($_POST['site'] as $site => $addresses) { // $site is the number and $addresses is an array
$address_list = implode(',', $adresses); // or loop $addresses or whatever
}