所以这里是交易,
我正在使用HTML表单从页面到页面传输变量,并使用PHP脚本根据提交的值创建页面.
通常它看起来像这样:从项目目录中选择您想要的内容,下一页显示该特定项目的详细信息.一切都很完美,除了一件事:
每当我使用浏览器的后退按钮时,我总是会收到错误:ERR_CACHE_MISS,我需要刷新页面,然后确认我确实要重新提交数据.
有没有办法解决这个问题,所以我的客户可以按原样使用后退按钮.
以下是浏览器为我提供的全文:
This webpage requires data that you entered earlier in order to be
properly displayed. You can send this data again, but by doing so
you will repeat any action this page prevIoUsly performed. Reload this
webpage. Press the reload button to resubmit the data needed to load
the page. Error code: ERR_CACHE_MISS
解决方法:
当您使用PHP或任何其他数据发布表单时,您可以返回页面并在浏览器中查找消息,如“文档已过期”或“使用Chrome确认表单重新提交”.这些消息是浏览器使用敏感数据(如变量后)的安全预防措施.浏览器不会再自动为您提供新页面.您必须通过再次单击“重试”或使用页面刷新来重新加载页面.然后,它按照您的预期运行.
然而,PHP编码器可以通过在脚本中添加一些代码来解决来自浏览器的烦人消息.该示例显示了几行代码可以添加到session_start()之上,以便能够在没有任何挂起的情况下发送到页面.’private_no_expire’模式意味着客户端将不会收到首先是过期的标题.
header('Cache-Control: no cache'); //no cache
session_cache_limiter('private_no_expire'); // works
//session_cache_limiter('public'); // works too
session_start();