用PHP程序实现支持页面后退的两种方法

第一,使用Header方法设置消息头Cache-control
QUOTE:
header('Cache-control:private,must-revalidate');//支持页面回跳 第二,使用session_cache_limiter方法
QUOTE:
//注意要写在session_start方法之前
session_cache_limiter('private,must-revalidate'); 补充:
Cache-Control消息头域说明
Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。 关于表单刷新 问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了? 答:这是由于你在你的表单提交页面中使用了session_start函数。该函数会强制当前页面不被缓存。解决办法为,在你的Session_start函数后加入header("Cache-control:private");注意在本行之前你的PHP程序不能有任何输出。 补充:还有基于session的解决方法,在session_start前加上
QUOTE:
session_cache_limiter('nocache');//清空表单
session_cache_limiter('private');//不清空表单,只在session生效期间
session_cache_limiter('public');//不清空表单,如同没使用session一般 可以在session_start();前加上session_cache_limiter("private,max-age=10800");

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...