2015-02-10 56 views
1

我想构建一个收集输入值并发送电子邮件的简单表单。某些输入名称是数组,我只是无法从这些数组中获取值。以下是代码。阵列在PHP中的阵列列表中

$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"/> 

回答

0

下面的代码将允许步$ _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; 
    } 
} 
+0

谢谢MK.Actually表单来自第三方,我无法更改输入字段的名称。 – user3390591 2015-02-10 03:00:47

+0

姓名和电子邮件是您必须从中提取数据的唯一表单字段吗? – MK777 2015-02-10 03:38:24

+0

不,表格很大,这就是为什么我想用循环来追踪所有数据。 – user3390591 2015-02-10 03:47:02

1

访问PHP表单中的数组值是这样的。

$customField = $_POST['CustomFields'][6];