Php 如何从多维$\u POST数组创建重复表单
我在一个主题中的表单是一个由多部分组成的表单,正在提交以下帖子数据Php 如何从多维$\u POST数组创建重复表单,php,forms,post,foreach,Php,Forms,Post,Foreach,我在一个主题中的表单是一个由多部分组成的表单,正在提交以下帖子数据 Array ( [action] => save [packageID] => 0 [form] => Array ( [post_title] => Title [post_content] => Description [category] => 30,35,7 ) [custom] => Array (
Array
(
[action] => save
[packageID] => 0
[form] => Array
(
[post_title] => Title
[post_content] => Description
[category] => 30,35,7
)
[custom] => Array
(
[post_tags] => keyword, key, keys
[phone_number] => 577XXXXXX
[price] => 400
[map_location] =>
[map-log] =>
[map-lat] =>
[map-country] =>
[map-address1] =>
[map-address2] =>
[map-address3] =>
[map-zip] =>
[map-state] =>
[map-city] =>
)
[check_multi] => 1
)
1
我想动态创建第二个表单,使用foreach循环和隐藏字段,其中隐藏字段的名称将与$\u POST[key]匹配,而隐藏字段的值将是$\u POST[value]的值
例如,原始表单有这样一个名称集
name="custom[map-log]"
name="form[post_title]"
例如,对于表单键,我也可以这样做,这样的想法对吗
name="custom[map-log]"
name="form[post_title]"
需要注意的是,很明显这些值会改变,但我也不知道它们的键是否相同,所以我不能只是制作一个重复的表单,然后用我需要的POST数据填充它,然后自动创建和填充它
提前谢谢。好的,向杰伊·布兰查德致以巨大的+1感谢,谢谢你的指导。有时候,帮助你的不是得到帮助,而是知道如何帮助自己。你说得对。我以前从未在表单名称中见过这种格式,但它非常方便。这是我的解决办法
<?php foreach($_POST as $key => $value){
if(is_array ($value)){
foreach($value as $subkey => $subvalue){ ?>
<input type="text" name="<?php echo $key; ?>[<?php echo $subkey; ?>]" value="<?php echo $subvalue; ?>" /><br />
<?php }
} else { ?>
<input type="text" name="<?php echo $key; ?>" value="<?php echo $value; ?>" /><br />
<?php }
}
我不明白为什么它不起作用。你试过了吗?你能和我们分享一下吗?老实说,我没有,因为我怀疑自己的逻辑,希望在开始之前看到自己走上了正确的道路。每次我发邮件都是单维度的,但我以前从未使用过多部分表单。因此,您认为这应该只适用于使用上述名称格式的普通foreach循环?当然,如果有效或无效,您将了解原因,并可以从中继续。如果您想隐藏所有输入,为什么不通过会话进行传递呢?我不想使用会话,因为我不想触及原始主题,我只想在表单上运行一点截取,并将日期发回,就好像它是从原始表单发送的一样。如果我传递到会话,那么我必须修改到处理页面,以便从会话中读取而不是发布。但我也不想把它们都藏起来,我想用电话号码。发送一个代码,确认后返回原始表格,包括已验证的电话号码。