处理具有多个多重选择的表单
Processing a form with multiple multiple selects
我有一个用于将人员注册到事件的表单,而用户可以添加或删除已注册的人员 - 输入的数量是动态的。
现在,常规输入很容易处理,只是
<input type="text" name="first_name[]">
然后我将它作为每个参与者循环处理的数组进行处理。
但是,我需要为每个人输入多个 select,例如
<select multiple name="extras[]">
<option value="42">Some extra feature</option>
...</select>
但这当然会将所有 selected 选项放入一个数组中,我无法识别哪个用户选择了哪些选项。
我也试过 name="extras[][]"
,但这只是将每个值放入一个单独的数组中。
我怎样才能使 form/the PHP 脚本能够告诉我谁选择了什么?
谢谢
发送用户特定信息,选项值为
<select multiple name="extras[]">
<option value="42###USER_ID">Some extra feature</option>
</select>
然后在您的 php 脚本上展开它,例如
foreach($_POST["extras"] as $a->$b){
$userAndExtras = explode("###",$b);
$userId = $userAndExtras[1]; // gives USER_ID
$anotherValue = $userAndExtras[0]; // gives 42 or something like that
}
--
或使用隐藏字段
我有一个用于将人员注册到事件的表单,而用户可以添加或删除已注册的人员 - 输入的数量是动态的。 现在,常规输入很容易处理,只是
<input type="text" name="first_name[]">
然后我将它作为每个参与者循环处理的数组进行处理。 但是,我需要为每个人输入多个 select,例如
<select multiple name="extras[]">
<option value="42">Some extra feature</option>
...</select>
但这当然会将所有 selected 选项放入一个数组中,我无法识别哪个用户选择了哪些选项。
我也试过 name="extras[][]"
,但这只是将每个值放入一个单独的数组中。
我怎样才能使 form/the PHP 脚本能够告诉我谁选择了什么?
谢谢
发送用户特定信息,选项值为
<select multiple name="extras[]">
<option value="42###USER_ID">Some extra feature</option>
</select>
然后在您的 php 脚本上展开它,例如
foreach($_POST["extras"] as $a->$b){
$userAndExtras = explode("###",$b);
$userId = $userAndExtras[1]; // gives USER_ID
$anotherValue = $userAndExtras[0]; // gives 42 or something like that
}
--
或使用隐藏字段