在提交的多部分/表单数据表单重新加载后丢失 _POST 美元的数据(Firefox)



在提交的多部分/表单数据表单重新加载后丢失$_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中的任何数据。
而且当我name3name4移动到上方时file他们的数据在重新加载后仍然存在。 我需要帮助。

在这里制作演示:https://vimeo.com/272339637

在我联系 Firefox 支持后,我似乎是 Firefox> v60.0 Forms 的已知问题。火狐表单问题 所以我现在最好的选择是将所有text移到file以上。例如:

<form method="POST" enctype="multipart/form-data">
<input type="text" name="name1" value="name1"/>
<input type="text" name="name2" value="name2"/>
<input type="text" name="name3" value="name3"/>
<input type="text" name="name4" value="name4"/>
<input type="file" name="file" value=""/>
<button type="submit">Submit</button>
</form>

最新更新