我有一组输入框,如果您单击"添加更多"按钮,您可以添加越来越多的这些表单集。在我的表单中,我可以提交数据,并且在您重新加载页面时显示它,当页面显示它时,它还会在隐藏表单中添加一个值,以防用户更新此信息。
但是,如何查看没有隐藏表单值的所有数据集?所有带有 do 的集合都有一个隐藏值,所以我可以对它们做不同的事情。
这是我的代码:
.HTML:
<form>
<div class = "fieldset-1">
<input type="text" id="Name1" name="name[]">
<input type="hidden" id="id1" name="id[]">
</div>
<div class = "fieldset-2">
<input type="text" id="Name2" name="name[]">
<input type="hidden" id="id2" name="id[]">
</div>
</form>
.PHP:
$data = $_POST;
extract($data, EXTR_PREFIX_SAME,"br");
//Prints The Variables To Make Sure They Are Correct
print_r($id);
$name = preg_replace("/[^a-zA-Z- ]/", "", $name);
print_r($name);
您在$_POST
中拥有所有帖子数据。它不依赖于字段的类型。唯一重要的是字段的名称。
无法用代码看到它的原因是你确实
$name = preg_replace("/[^a-zA-Z- ]/", "", $name);
为了什么,顺便说一句? preg_replace
用于字符串,$name
这里是一个数组(因为您的表单字段的名称为 name[]
),因此函数失败,并且您丢失了数据。
并且永远不要使用extract
,它被认为是有害的。