在提交 multipart/form-data 表单重新加载后丢失 $_POST 数据 (Firefox)
Losing $_POST data after a submitted multipart/form-data form reload(Firefox)
提交 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
联系 Firefox 支持后,我似乎是 Firefox > v60.0 Forms 的一个已知问题。 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>
提交 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
联系 Firefox 支持后,我似乎是 Firefox > v60.0 Forms 的一个已知问题。 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>