如何 POST 从恢复的会话中形成数据?
How to POST form data from restored session?
我使用名为 "Session Manager" 的 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>
当我使用 "Session Manager" 恢复表单输入数据时,我可以看到我需要的所有数据。当我点击 "Submit" 按钮时,数据为空 $_POST
。
我该怎么做才能不丢失这些数据?
也许使用一些 JQuery 或 session_start(); $_SESSION
?
Firefox 中的会话管理器插件与 PHP 会话完全无关。同一个词,完全不同的意思。
Firefox 会话是您的浏览器选项卡和它们正在访问的网站。 PHP 会话与特定网站上的用户会话相关。
很可能您在表单中看到的数据 "saved" 只是仅保存在 Firefox 中的字段数据,其唯一目的是使数据 re-entry 更快。它实际上还不是 "in" 表单字段,而是保存在 Firefox 中(仅保存在 Firefox 中,而不是在网站上),以便更轻松地 re-entry 频繁输入的数据。
当您失去与网站的连接时,您会丢失字段中键入的数据。刷新页面会丢失字段中键入的数据。这个没有work-around,就是这样。
如果您还有其他问题,请在此答案下方的评论中提问。
编辑:
Re-thinking,可以使用 javascript/jQuery(请,jQuery)解决方案来实现某种解决方案,该解决方案涉及在字段退出时进行检测(blur()
) 并随后抓取数据并保存在 localStorage 中。
参考文献:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
http://www.w3schools.com/html/html5_webstorage.asp
When is localStorage cleared?
What is the max size of localStorage values?
Firefox add-on "Session Manager" 如果 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 + 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>
当我使用 "Session Manager" 恢复表单输入数据时,我可以看到我需要的所有数据。当我点击 "Submit" 按钮时,数据为空 $_POST
。
我该怎么做才能不丢失这些数据?
也许使用一些 JQuery 或 session_start(); $_SESSION
?
Firefox 中的会话管理器插件与 PHP 会话完全无关。同一个词,完全不同的意思。
Firefox 会话是您的浏览器选项卡和它们正在访问的网站。 PHP 会话与特定网站上的用户会话相关。
很可能您在表单中看到的数据 "saved" 只是仅保存在 Firefox 中的字段数据,其唯一目的是使数据 re-entry 更快。它实际上还不是 "in" 表单字段,而是保存在 Firefox 中(仅保存在 Firefox 中,而不是在网站上),以便更轻松地 re-entry 频繁输入的数据。
当您失去与网站的连接时,您会丢失字段中键入的数据。刷新页面会丢失字段中键入的数据。这个没有work-around,就是这样。
如果您还有其他问题,请在此答案下方的评论中提问。
编辑:
Re-thinking,可以使用 javascript/jQuery(请,jQuery)解决方案来实现某种解决方案,该解决方案涉及在字段退出时进行检测(blur()
) 并随后抓取数据并保存在 localStorage 中。
参考文献:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
http://www.w3schools.com/html/html5_webstorage.asp
When is localStorage cleared?
What is the max size of localStorage values?
Firefox add-on "Session Manager" 如果 html <form>
设置了属性 enctype="multipart/form-data"
,则似乎无法正常工作。如果您想通过 POST
发送一些文件,请结合使用 <form>
属性 enctype="application/x-www-form-urlencoded"
和 php copy()
。那不是干净的解决方案。也许还有 enctype="multipart/form-data"
的其他解决方案,也许一些 accept-charset
形式的过期可以给你更好的结果。