Php 访问动态创建的输入值的$\u POST数据

Php 访问动态创建的输入值的$\u POST数据,php,Php,我有一个表单,有几个文本区域,然后是大约20个输入字段 使用循环动态创建输入字段,并根据my db(国家)中的值创建输入字段 我的代码是: $options = ''; $country_code = ''; $query = $DB->query("SELECT country_code, country_id, IF(country_code = ".$country_code."', '', '') AS sel FROM exp_sme_countries WHERE site_i

我有一个表单,有几个文本区域,然后是大约20个输入字段

使用循环动态创建输入字段,并根据my db(国家)中的值创建输入字段

我的代码是:

$options = '';
$country_code = '';
$query = $DB->query("SELECT country_code, country_id, IF(country_code = ".$country_code."', '', '') AS sel FROM exp_sme_countries WHERE site_id='".$this->settings['site_id']."' ORDER BY country_name ASC");
           foreach ($query->result as $row)
           {
            $options .= '<label>' . 'Phrase for ' .  $this->settings['countries'][$row['country_code']] . '</label>' . '<br />';
                            $options .= '<input style="width: 100%; height: 5%;" id="country_data" type="text"  name="' . $row['country_id'] . '"  />' . '<br /><br />';
                            $options .= '<input type="hidden" name="country_id" id="country_id" value="' . $row['country_id'] . '"   />';

           }
现在我的问题是,如何获取这些输入字段的值

我看过输出$u POST,但这似乎返回了我无法访问的数据

可以通过任何方式访问这些值吗

还是我需要改变我做事的方式


谢谢

更改字段的“名称”,如下所示:

name="p_' . $row['country_id'] . '"
然后你可以去:

    foreach ($_POST as $key => $value) {
        if (substr($key, 0, 2) == "p_") {
            $country_id[str_replace("p_", "", $key)] = $value;
        }
    }

$\u POST[68]
$\u POST[28]
将返回所需的值。您应该使用字母键
(国家/地区代码)
。如果由于某种原因,数据库中的数字标识发生了更改,那么您将在维护代码时遇到麻烦。HTML还要求您使用唯一的元素ID才能使文档有效。

如上所述,您确实有

name="country_id"
大概有70多次吧。这将是一个问题

你可以做:

name="country_id[]"
并在发布后在PHP中获取一个数组


另外,你确定你在发帖吗?如果$\u POST为空,则似乎不是这样。

您最好的解决方案是使用HTML创建一个数组,以便它以您想要的格式发布。。。请参阅本文以获取示例:

看起来您正在输出重复的html ID-不要这样做。这似乎有效。我只需要将它插入一个循环,将所有内容都放入我的db表中。谢谢
name="country_id[]"