用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 相关文章推荐
IP138 IP地址查询小偷实现代码
Feb 15 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
PHP动态柱状图实现方法
Mar 30 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 PHP
php实现断点续传大文件示例代码
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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
jquery里的each使用方法详解
2010/12/22 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python ddt实现数据驱动
2018/03/14 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
css3实现超炫风车特效
2014/11/12 HTML / CSS
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
共产党员岗位承诺书
2014/05/29 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python