【发布时间】:2018-05-29 08:52:03
【问题描述】:
在提交的 multipart/form-data 表单重新加载后丢失 $_POST 数据。
我有以下表格:
<?php var_dump($_POST, $_FILES); ?>
<form method="POST" enctype="multipart/form-data">
<input type="text" name="name1" value="name1"/>
<input type="text" name="name2" value="name2"/>
<input type="file" name="file" value=""/>
<input type="text" name="name3" value="name3"/>
<input type="text" name="name4" value="name4"/>
<button type="submit">Submit</button>
</form>
问题是,当我第一次提交此表单时,我选择了一个文件(可能是 2b - 3kb)
'name1' => string 'name1' (length=5)
'name2' => string 'name2' (length=5)
'name3' => string 'name3' (length=5)
'name4' => string 'name4' (length=5)
'file' => array (size=5) [...]
但是当我点击重新加载按钮时,我得到了这个:
array (size=2)
'name1' => string 'name1' (length=5)
'name2' => string 'name2' (length=5)
'file' => array (size=5) [...]
更像是file 之后的所有数据都丢失了。
我尝试不选择任何文件,提交表单并重新加载它,并没有丢失来自$_POST 的任何数据。
而且当我将name3 和name4 移动到file 上方时,它们的数据在重新加载后仍然存在。
我需要帮助。
在这里制作演示:https://vimeo.com/272339637
【问题讨论】:
-
我已经复制了您的代码并尝试了自己。这不会发生在我身上。刷新后一切都保持不变。
-
我在这里也试过ide.c9.io/chrys_u/stack
-
那么现在你的
var_dump又发疯了,因为你之前评论过并删除了你的问题。 -
大声笑是的。不知道是不是浏览器会导致这个问题?
-
我注意到它仅在 firefox 上发生。
标签: php forms firefox post php-7.1