【发布时间】:2014-05-29 19:44:37
【问题描述】:
我在主题中的表单是一个多部分表单,并且正在提交以下 POST 数据
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 循环和隐藏字段,其中隐藏字段的名称将匹配 $_POST[key] 并且隐藏字段的值将是 $_POST[value]
例如,原始表单的名称设置如下
name="custom[map-log]"
我认为我也可以为表单键这样做是对的吗
name="form[post_title]"
需要注意的一点,显然值会改变,但我也不总是知道它们的键是否相同,所以我不能只制作一个重复的表单并用我需要它创建并自动填充的 POST 数据填充它.
提前致谢。
【问题讨论】:
-
我不明白为什么它不起作用。你试过了吗?你能和我们分享一下吗?
-
老实说,我没有这样做,因为我怀疑自己的逻辑并希望在继续之前看到我走在正确的轨道上。每次我发送 POST 时,它总是单维度的,但我以前从未使用过多部分表单。所以你认为这应该只适用于使用上述名称格式的普通 foreach 循环?
-
当然,如果它有效或无效,您将了解原因,您将能够从那里取得进步。
-
如果你想隐藏所有的输入,为什么不通过会话传递呢?
-
我不想使用会话,因为我不想触及原始主题我只想在表单上运行一点拦截并将日期发布回来,就好像它已发送一样从原来的形式。如果我传递给会话,那么我必须修改到处理页面以从会话中读取而不是发布。但我也不想隐藏所有我想使用的电话号码。向它发送一个代码,并在确认后返回原始表单,包括经过验证的电话号码。