提交的multipart / form-data表单重新加载后丢失$ _POST数据(Firefox)

时间:2018-05-29 08:52:04

标签: php forms firefox post php-7.1

在提交的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中的任何数据 此外,当我将name3name4移到file之上时,他们的数据会在重新加载后保留。 我需要帮助。

在此处制作演示:https://vimeo.com/272339637

1 个答案:

答案 0 :(得分:0)

在我联系Firefox支持后,我似乎是Firefox的一个已知问题&gt; v60.0表格。 Firefox form Issues所以我现在最好的选择是将所有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>