• session_cache_limiter(private,must-revalidate)是什么意思

    表义一:

    指定会话页面所使用的缓冲控制方法:
    当session_cache_limiter('private')时,用处是让表单history.go(-1)的时候,填写内容不丢失!就避免页面失效的警告!

    表义二:

    这个会话与header('cache-control:private,must_revalidate');效果相同

但是要值得注意的是session_cache_limiter()方法要写在session_start()方法之前才有用;

支持页面回跳详解,session_cache_limiter()的使用详解

现在表单的填写,我们可以用AJAX对用户随时进行验证,进行友好的提示,但是在用户没有留意AJAX友好提示,提交了错误的表单,跳回原页,而填写的信息却全部丢失了。要支持页面回跳,有以下的办法:

  • 1.使用session_cache_limiter方法:
Php代码
  1. session_cache_limiter('private,must-revalidate');
session_cache_limiter('private,must-revalidate');

但是要值得注意的是session_cache_limiter()方法要写在session_start()方法之前才有用;

  • 2.用header来设置控制缓存的方法:

在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。

第一,使用Header方法设置消息头Cache-control
引用:
header('Cache-control: private, must-revalidate');//支持页面回跳
第二,使用session_cache_limiter方法
引用:
//注意要写在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前加上
引用:
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter('public'); //不清空表单,如同没使用session一般

可以在session_start();前加上 session_cache_limiter('private,max-age=10800');

转载于:https://www.cnblogs.com/kaixin110/archive/2010/09/06/1818830.html

session_cache_limiter(private,must-revalidate)是什么意思相关推荐

  1. php表单退出怎么写,PHP提交表单失败后如何保留填写的信息

    [导读]本文章来给各位同学介绍PHP提交表单失败后如何保留填写的信息一些方法总结,最常用的就是使用缓存方式了,这种方法如果网速慢是可能出问题的,最好的办法就是使用ajax了.1.使用header头设置 ...

  2. JavaScript基础,Cookies,Sessions

    php和JavaScript,掌握JavaScript基础,自定义函数,流程控制语句,事件,调用JavaScript脚本,在PHP中使用JavaScript. JavaScript是网景公司开发的,是 ...

  3. php history.back,js history.back(); 后表单数据没有保持 的问题

    遇到过的此类问题,一般有两种情况: ============================================= 1. 在服务端,如php开启了session,session_start ...

  4. php提交后清楚表单缓存,PHP提交表单后如何控制缓存 | 学步园

    在开发过程中,经常会出现表单出错而返回页面的时候填写的信息全部丢失的情况,为了支持页面回跳,可以通过以下两种方法实现. 1.使用header头设置缓存控制头Cache-control. PHP代码 h ...

  5. java不同网址提示过期_使用history.back()出现警告: 网页已过期的解决办法

    原因: 表单提交页面中使用了 session_start 函数.由于我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存. 解决: php: 此提示出现在一个POST提交的页面,点到其它页面后,通过 ...

  6. php header运用细节

    http://www.111cn.net/phper/php-function/55872.htm http://blog.sina.com.cn/s/blog_7298f36f01011dxv.ht ...

  7. 让PHP支持页面后退的两种方法

    让PHP支持页面后退的两种方法(Cache-control  php back form) 在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现. ...

  8. php+js 表单过期

    在开发过程中,经常会出现表单出错而返回页面的时候填写的信息全部丢失的情况,为了支持页面回跳,可以通过以下两种方法实现. 1.使用header头设置缓存控制头Cache-control. header( ...

  9. php表单实现分页,**PHP分步表单提交思路(分页表单提交)

    Q: 我用php做了3张表单 分布在3个页面 想在最后一页 再插入数据库 并且:在插入数据库之前 3个页面 后退 前进 表单的内容会被保留 以便随时更改 能实现吗? 想过session 感觉内容太多 ...

最新文章

  1. html实现圆圈逐渐放大,CSS3 简单的圆形放大旋转变换
  2. [Leedcode][JAVA][按摩师][动态规划]
  3. java 停止kettle转换_通过java运行Kettle转换
  4. 【机器学习】Logistic Regression逻辑回归原理与java实现
  5. vue @blur v-model数据没有更新问题
  6. C++学习笔记-异常处理
  7. BLUE引擎M2运行几天后就不可以施放合击技能的方法
  8. 西威变频器 服务器显示,西威变频器故障查询及操作方法
  9. 关于举办“2022年(第15届)中国大学生计算机设计大赛”通知
  10. 黄山学院计算机专业考研情况,为什么考入北大的研究生偏偏来自黄山学院这样的学校?...
  11. 计算机标准用户英文名称,标准计算机专业英文简历范文
  12. ValueError: only one element tensors can be converted to Python scalars
  13. Java进阶(八)Stream、异常体系
  14. 做好自己安全第一责任人 嘀嗒全面上线安全带智能语音提醒
  15. php cgi.sock 502,nginx中unix:/tmp/php-cgi.sock错误解决解决
  16. vue + elemen可远程搜索select选择器的封装(思路及源码分享)
  17. sql数据库本地服务器不显示,sql数据库本地服务器不显示
  18. 使用icecast搭建在线电台并使用ffmpeg推流
  19. 40款非常酷的国外创意名片设计欣赏(下)
  20. 【51NOD 1737】配对

热门文章

  1. 官网消息【iPlayer外挂字幕】功能开发中!有图
  2. CC创作共用版权协议,要求署名+非商业+相同方式共享
  3. RISC-V教材勘误
  4. JavaWeb——jdbc与dbcp数据库连接
  5. webAppbuilder微件使用教程2 常用微件介绍
  6. java的max函数比较三个数_java – 使用泛型创建返回较大函数的max函数
  7. 【java学习之路】(java SE篇)(练习)常用类和异常的简单练习
  8. 华硕主板bios通电自启设置_求各种主板通电自动开启的设置?
  9. 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?
  10. Maven的性质与部署整理