用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学习笔记之二
Jan 17 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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无限级分类方法及代码
2013/06/21 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
php解析json数据实例
2014/08/19 PHP
php新建文件的方法实例
2019/09/26 PHP
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
python实现定时提取实时日志程序
2018/06/22 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
python实现简单飞行棋
2020/02/06 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
应届生会计电算化求职信
2013/10/03 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
公司催款律师函
2015/05/27 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书