用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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
PHP小教程之实现双向链表
Jun 12 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
php实现简易聊天室应用代码
Sep 23 PHP
10个php函数实用却不常见
Oct 13 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
php文件上传简单实现方法
2015/01/24 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
微信小程序日历效果
2018/12/29 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
Python代码的打包与发布详解
2014/07/30 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
Django URL参数Template反向解析
2020/11/24 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
任课老师推荐信范文
2013/11/24 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
会计岗位职责模板
2014/03/12 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
小学主题班会教案
2015/08/17 职场文书
教师外出学习心得体会
2016/01/18 职场文书
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技