我想构建一个简单的表单来收集输入值并发送电子邮件。有些输入名称是数组,我就是无法从这些数组中获取值。下面是代码。
$keysToKeep = array('CustomFields[6]', 'email');
$values = array_intersect_key($_POST, array_flip($keysToKeep));
print_r($keysToKeep);
foreach ($values as $name => $value)
{
$message .= $name . ': ' . $value . PHP_EOL;
}
HTML代码:
Your name:
<input type="text" name="CustomFields[6]" id="CustomFields_6_337" value="" fid="4" fname="Name" size='64' maxlength='64'>
Your Email Address:
<input type="text" class="email" name="email" fid="e" fname="Email" ftype="Email" reqd="1"/>
访问PHP表单中的数组值如下。
$customField = $_POST['CustomFields'][6];
下面的代码将允许遍历$_POST数组并收集它所包含的数据。如果$_POST数组的任何元素本身就是数组,则使用另一个循环。
//loop collects form data
foreach($_POST as $key => $field) {
//checks if data being collected is an array
//if it is an array another loop is used to collect data
if(is_array($field)){
foreach($field as $subkey => $subfield){
echo $subfield;
}
}
else{
echo $field;
}
}