【问题标题】:Array in side an array list in php form数组在 php 形式的数组列表中
【发布时间】:2015-02-10 01:53:06
【问题描述】:

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

$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 arrays forms


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      以下代码将允许单步执行 $_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;
           }
      }
      

      【讨论】:

      • 谢谢 MK。实际上表单来自 3rd 方,我无法更改输入字段的名称。
      • 姓名和电子邮件是您必须从中提取数据的唯一表单字段吗?
      • 不,表格很大,这就是为什么我想使用循环来捕获所有数据。
      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 2020-01-07
      • 2011-05-27
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多