警告: 网页已经过期"的解决方法

此提示出现在一个POST提交的页面,点到其它页面后,再返回时,IE就会显示这个提示。以前也有碰到过好多次,不过都没太在意,今天化时间了解了下,原来是session在作怪。

在通过IE的后退按钮或者网页中的history.go(-1)时,我们看到的将是缓存页,但使用了session_start后,这个函数会强制当前页面不被缓存,导致出现“警告: 网页已经过期”。

解决方法一:
在session_start之后加一句header("Cache-control: private"); 注意在此之前程序不能有任何输出。

解决方法二:
在session_start前加上session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter还有另两个参数的含义:
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('public'); //不清空表单,如同没有使用session