Php 访问动态创建的输入值的$\u POST数据
我有一个表单,有几个文本区域,然后是大约20个输入字段 使用循环动态创建输入字段,并根据my db(国家)中的值创建输入字段 我的代码是: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
$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[]"