Потеря данных $ _POST после перезагрузки отправленной формы multipart / form-data (Firefox) - PullRequest
0 голосов
/ 29 мая 2018

Потеря $_POST данных после перезагрузки отправленной формы multipart / form-data.

У меня есть форма ниже:

<?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

1 Ответ

0 голосов
/ 31 мая 2018

После того, как я связался с поддержкой Firefox, у меня возникла известная проблема с Firefox> v60.0 Forms. Проблемы с Firefox Так что мой лучший вариант на данный момент - переместить все 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>
...