原因:
上传文件P1,处理文件上传P2,处理结果P3。想要从P3点击返回退到P1界面,结果出现P2界面的页面过期信息。。。
分析:
退到一个因POST而出现的网页,eg:if($_SERVER['REQUEST_METHOD']=='POST')就会提示这个。
通用的解决方法是:处理POST之后,立刻跳转到另外一页来显示处理结果(PHP就用header或者输出meta跳转也可以),这样POST的那页就不会出现在浏览器的历史页面列表里。例如此时在结果页后退,就会退到POST之前的页面而跳过POST处理页,也就不会有“页面过期”的提示了。
其他好用的解决办法:
方法一,使用Header方法设置消息头Cache-control 引用:
header('Cache-control: private, must-revalidate');
方法二,使用session_cache_limiter方法 引用:
//注意要写在session_start方法之前
session_cache_limiter('private, must-revalidate');