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


Posted in PHP onJune 30, 2008

  第一,使用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");

PHP 相关文章推荐
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
php中AES加密解密的例子小结
Feb 18 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
分享php分页的功能模块
Jun 16 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
php常用正则函数实例小结
Dec 29 PHP
php注册审核重点解析(数据访问)
May 23 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
discuz Passport 通行证 整合笔记
Jun 30 #PHP
php下检测字符串是否是utf8编码的代码
Jun 28 #PHP
php GD绘制24小时柱状图
Jun 28 #PHP
php 在线打包_支持子目录
Jun 28 #PHP
php 前一天或后一天的日期
Jun 28 #PHP
js下函数般调用正则的方法附代码
Jun 22 #PHP
php的正则处理函数总结分析
Jun 20 #PHP
You might like
zend framework配置操作数据库实例分析
2012/12/06 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
Javascript----文件操作
2007/01/18 Javascript
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python中的字典遍历备忘
2015/01/17 Python
Python统计单词出现的次数
2018/04/04 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
python切割图片的示例
2020/11/12 Python
外语学院毕业生的自我鉴定
2013/11/28 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
村道德模范事迹材料
2014/08/28 职场文书
孔庙导游词
2015/02/04 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python