处理具有多个值的输入表单的理想方法是什么,而不是单独检查每个$POST_['inputname']
?
例如,假设我有一个这样的邀请表:
<form id="input-form" action="" method="post" >
<input id="email_1" name="email_1" />
<input id="role_1" name="role_1" />
<input id="email_2" name="email_2" />
<input id="role_2" name="role_2" />
<input id="email_3" name="email_3" />
<input id="role_3" name="role_3" />
</form>
理想情况下,我想创建两个包含数据的数组,一个用于电子邮件地址,另一个用于角色
结果数组如下所示:
$emailArray = array(
'email1' => "emailOneData",
'email2' => "emaiTwoData",
'email3' => "emaiThreeData",
);
$RoleArray = array(
'role1' => "roleOneData",
'role2' => "roleTwoData",
'role3' => "roleThreeData",
);
不确定分割数据的最佳方法是什么。我也不想做这样的事情:
$_POST['email_1']
$_POST['email_2']
$_POST['email_3']
.....
答案 0 :(得分:2)
使用$ _POST数组。
<form id="input-form" action="" method="post" >
<input id="email_1" name="email[]" />
<input id="role_1" name="role[]" />
<input id="email_2" name="email[]" />
<input id="role_2" name="role[]" />
<input id="email_3" name="email[]" />
<input id="role_3" name="role[]" />
</form>
在此之后你得到一个这样的数组:
echo'<pre>';
print_r($_POST['email']);
print_r($_POST['role']);
echo'</pre>';
当然,您仍然必须依赖于您的使用来逃避您的输入。
在此之后,您可以在阵列上使用普通的foreach。
$mails=array();
$count=count($_POST['role']);
for($i=0;$i<$count;$i++){
$mails["email_".$i]=$_POST['role'][$i];
}