点击浏览器的后退按钮时失去表单数据[复制](Losing form data when clicki

2019-07-19 19:38发布

这个问题已经在这里有一个答案:

  • 为什么HTML表单在浏览器上单击后退按钮时,有时会清除 3回答

当我点击回在任何浏览器我失去了这是在形式输入两个下降起伏和文本输入类型的所有数据。

这是一个服务器,浏览器或编码的问题?

谢谢

Answer 1:

它的浏览器的问题。 浏览器不同的行为在单击后退按钮时 - 这种行为主要取决于用户的隐私设置。 此外,大多数浏览器会自动复位形式在命中后退键页的HTTP连接他们的正常行为的观察了HTTPS连接不管。 此外,严重依赖AJAX许多HTML表单不正确 - 或持续 - 恢复之前的状态。

编辑----

既然你提到使用PHP和MySQL,假设你也在使用会话...浏览器不会预先填充表单当你点击后退按钮。 PHP会话供电的页面没有在浏览器缓存,打后退按钮返回到上一个页面就像是从一开始就再次打开该网页 - 大多数浏览器不会打扰恢复表单值。



Answer 2:

这适用于PHP和IE8。

不仅要设置cacheing私人,但你必须删除4 cacheing头,这只能与PHP 5.3来完成。

在PHP 5.2,如果使用Zend框架的setHeader()方法,你可以只设置4头为空值。 出于某种原因,是不充足的上IE8到4点的值设置为空值。 下面是PHP 5.3的代码:

header_remove("Expires"); 
header_remove("Cache-Control"); 
header_remove("Pragma"); 
header_remove("Last-Modified"); 


Answer 3:

您需要创建粘形式的浏览器,以保持表单数据推压回去的时候。 它很容易做到,在链接的搜索检查出的教程。



文章来源: Losing form data when clicking the back button on browser [duplicate]
标签: php forms