POSTed 数组保持它们的值
Posted
技术标签:
【中文标题】POSTed 数组保持它们的值【英文标题】:POSTed arrays keep their values 【发布时间】:2015-03-12 04:26:06 【问题描述】:今天我注意到我的一个 Wordpress 安装的行为方式非常奇怪:每当我从仪表板更新帖子时,它的一些额外输入会保留它们已有的值(它们都是多维数组)。例如:
[post.php?post=123&action=edit]
<input type="text" id="field_a0b" class="text" name="fields[a][0][b]"
value="Current value" placeholder="">
如果我手动编辑该帖子(作为最终用户),将Current value
更改为New value
,然后点击更新 按钮,$_POST['fields']['a'][0]['b']
仍将包含Current value
- 不是New value
如我所料。
这只发生在那些输入数组上。另外,如果我将name="fields[a][0][b]"
更改为随机的东西,比如name="fields[a][0][bbbbbbbb]"
,然后打印那个东西,那么我会得到我在输入字段中输入的值!
我已经破解了 Wordpress 文件以从多个位置(甚至来自 load.php)转储数据,但仍然没有成功。
不确定这是否重要,但生成这些 html 输入的插件称为 ACF(高级自定义字段)。
【问题讨论】:
没人?我尝试在php.ini
(甚至post_max_size
和upload_max_filesize
)中增加max_input_nesting_level
和max_input_vars
,但我仍然得到相同的结果:(
我认为您在这里没有展示足够的代码上下文。表单发布中是否涉及任何 javascript?
没有 JavaScript,没有浏览器缓存。严格来说是 PHP,服务器端的怪异。
【参考方案1】:
过去我发现,如果我要重用一个数组,我应该在每次使用完它时取消设置该数组。这样,您无疑会清除该数组以供重用。
【讨论】:
以上是关于POSTed 数组保持它们的值的主要内容,如果未能解决你的问题,请参考以下文章
如何对多个 mysql foreach 数组进行排序并需要它们在 php 中保持一致?