Я использую дополнение Firefox под названием «Диспетчер сеансов» для сохранения и восстановления сеансов. У меня есть простая форма php + html:
<form id="form_id" enctype="multipart/form-data" method="post" action="upload.php">
<input id="name$key" type="text" placeholder="Name" name="name[]" value="$name">
<input type="file" name="fileToUpload[]" id="fileToUpload$key">
<input id="submit" name="submit" type="submit" value="Submit">
</form>
Когда я восстанавливаю входные данные формы с помощью «Диспетчера сеансов», я вижу все данные, которые мне нужны. Когда я нажимаю кнопку «Отправить», данные пустые $_POST
,
Что я могу сделать, чтобы не потерять эти данные?
Может быть, использовать JQuery или session_start(); $_SESSION
?
Firefox надстройка «Диспетчер сеансов», кажется, работает неправильно, если HTML <form>
устанавливается с атрибутом enctype="multipart/form-data"
, Если вы хотите отправить несколько файлов через POST
использование <form>
атрибут enctype="application/x-www-form-urlencoded"
в сочетании с php copy()
, Это не чистое решение. Может быть, могут быть другие решения с enctype="multipart/form-data"
, может быть, некоторые истечения с формой accept-charset
может дать вам лучшие результаты.
Плагин Session Manager в Firefox вовсе не связан с сессиями PHP. Одно и то же слово, совершенно разные значения.
Сеанс Firefox — это вкладки вашего браузера и веб-сайты, к которым они обращаются. Сеанс PHP относится к сеансу пользователя на определенном веб-сайте.
Скорее всего, данные, которые вы видите «сохраненными» в формах, — это просто полевые данные, которые сохраняются только в Firefox, с единственной целью ускорения повторного ввода данных. На самом деле это еще не «в» полях формы, но они сохранены в Firefox (только не на веб-сайте), чтобы упростить повторный ввод часто вводимых данных.
Потеряв соединение с веб-сайтом, вы потеряете данные, введенные в полях. При обновлении страницы теряются данные, введенные в полях. Для этого нет обходного пути, просто так оно и есть.
Если у вас есть дополнительные вопросы, пожалуйста, задавайте в комментариях ниже этого ответа.
Редактировать:
Переосмысливая, возможно достичь какого-то решения, используя решение javascript / jQuery (пожалуйста, jQuery), которое включает обнаружение при выходе из полей (blur()
) и последующий захват данных и сохранение в localStorage.
Рекомендации:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API