用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 无限极分类
Mar 27 PHP
PHP开发框架总结收藏
Apr 24 PHP
php mysql数据库操作分页类
Jun 04 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
Yii使用find findAll查找出指定字段的实现方法
Sep 05 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
PHP实现的日历功能示例
Sep 01 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 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
php二分查找二种实现示例
2014/03/12 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
JS内部事件机制之单线程原理
2018/07/02 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
python多进程实现文件下载传输功能
2018/07/28 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
python中的unittest框架实例详解
2021/02/05 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
交通安全演讲稿
2014/01/07 职场文书
幼儿教育感言
2014/02/05 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
英语教研活动总结
2014/07/02 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
学生偷窃检讨书
2014/09/25 职场文书
如何写通讯稿
2015/07/22 职场文书
500字作文之周记
2019/12/13 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
python 破解加密zip文件的密码
2021/04/22 Python
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL