php后退一页表单内容保存实现方法

php表单在提交之后再后退,表单的内容默认是被清空的(使用session_start的时候),
解决方法是在session_start() 之后,字符输出之前写上


代码如下:

header("Cache-control: private");

网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no- cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:
(1) 打开新窗口
值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。
而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:
Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)
(2) 在地址栏回车
值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。
值为no-cache,那么每次都会访问。
值为max-age,则在过期之前不会重复访问。
(3) 按后退按扭
值为private、must-revalidate、max-age,则不会重访问,
值为no-cache,则每次都重复访问
(4) 按刷新按扭
  无论为何值,都会重复访问
Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。
另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT
比如:禁止页面在 IE中缓存
http响应消息头部设置:
CacheControl = no-cache
Pragma=no-cache
Expires = -1
Expires是个好东东,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1 点更新,可以把Expires设置为第二天的凌晨1点。
当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页。
旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。
所以为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。
如果客户端通过安全连接 (https://)与服务器通讯,且服务器在响应中返回 Pragma:no-cache 标题,
则 Internet Explorer不会缓存此响应。注意:Pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 Expires:-1相同,该页将被缓存,但被标记为立即过期。
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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

(0)

相关推荐

  • php网页后退不再出现过期

    <?php  ob_start();  if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate");  }  session_start()  ?>

  • PHP实现将浏览历史页面网址保存到cookie的方法

    本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法.分享给大家供大家参考.具体如下: 将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别. 复制代码 代码如下: <?php /*******  说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取 *******/ //先假设当前URL为:http://localhost/php/?id=1 $id = $_GET

  • 用PHP程序实现支持页面后退的两种方法

    第一,使用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-Co

  • PHP实现的memcache环形队列类实例

    本文实例讲述了PHP实现的memcache环形队列类.分享给大家供大家参考.具体如下: 这里介绍了PHP实现的memcache环形队列类.没咋学过数据结构,因为业务需要,所以只是硬着头皮模拟的! 参考PHP memcache 队列代码.为使队列随时可入可出,且不受int长度越界危险(单链采取Head自增的话不作处理有越界可能),所以索性改写成环形队列.可能还有BUG,忘见谅! <?php /** * PHP memcache 环形队列类 * 原作者 LKK/lianq.net * 修改 FoxH

  • thinkphp浏览历史功能实现方法

    本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址

  • php浏览历史记录的方法

    本文实例讲述了php浏览历史记录的方法.分享给大家供大家参考.具体实现方法如下: /** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array($data)) { return false; } //判断cookie类里面是否有浏览记录 if($this->_request->getCookie('history')) { $history = unserialize($th

  • php阻止页面后退的方法分享

    例如:现在有1,2,3.3页.希望用户一开始访问第一页,然后点"下一步"就看到"第二页",然后在进入"第三页"之前,用户不能后退.就让1和2作为同一页.留个标记在session里,这样:1and2.php 复制代码 代码如下: <?phpsession_start();if (isset($_GET['p2'])) {  $_SESSION['enteredPage2'] = true;}if (isset($_SESSION['enter

  • php基于双向循环队列实现历史记录的前进后退等功能

    本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能.分享给大家供大家参考.具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能.(实现操作的前进后退) 2. 和discuz论坛登录后查看帖子(可以前进后退查看过的帖子,还有帖子查看历史记录) 3. 逻辑和windows资源管理器地址栏前进后退功能一样. 根据这种需要,实现了一个数据结构.写了一个通用的类,暂叫历史记录类吧. [原理和时钟类似.实例化对象时可以构造长度为N(可以根据需要定长度)个节点的环]

  • php后退一页表单内容保存实现方法

    php表单在提交之后再后退,表单的内容默认是被清空的(使用session_start的时候), 解决方法是在session_start() 之后,字符输出之前写上 复制代码 代码如下: header("Cache-control: private"); 网页的缓存是由HTTP消息头中的"Cache-control"来控制的,常见的取值有private.no- cache.max-age.must-revalidate等,默认为private.其作用根据不同的重新浏览

  • JavaScript获取网页表单提交方式的方法

    本文实例讲述了JavaScript获取网页表单提交方式的方法.分享给大家供大家参考.具体如下: JavaScript获取网页表单的提交方式是get还是post,获取提交方式可以通过表单的method属性获得 <!DOCTYPE html> <html> <body> <form id="frm1" action="form_action.asp" method="get"> First name:

  • JavaScript获取网页表单action属性的方法

    本文实例讲述了JavaScript获取网页表单action属性的方法.分享给大家供大家参考.具体如下: JavaScript获取网页表单的action属性,即要提交到的url地址,有时候需要提交到当前页面,则可能会设置action为空 <!DOCTYPE html> <html> <body> <form id="frm1" action="jb51.php"> First name: <input type=&

  • Asp.Net MVC4通过id更新表单内容的思路详解

    用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容就会报错,因为有些不能为null的字段由于disabled属性根本无法在前端被获取而后更新至数据库. 有下面两种思路: 1.通过创建隐藏表单,为每一个disabled控件分别创建一个隐藏控件,但是这样的问题是工作量太大(如果表单有一千个属性,你懂的) 2.通过获取该表单在数据库中的id,把该id和可

  • VC++实现View内容保存为图片的方法

    本文实例讲述了VC++实现View内容保存为图片的方法.分享给大家供大家参考,具体如下: 我们在单文档应用程序中,经常需要将View中的内容保存为各种格式的图片文件,以便打印.乍一看,可能不知道从哪里下手,其实主要就是用到Bitmap的save方法,如: HDC hmemDC = ::CreateCompatibleDC( hdc ); HBITMAP hBmp = ::CreateCompatibleBitmap( hdc, destRect.Width(),destRect.Height()

  • jQuery中验证表单提交方式及序列化表单内容的实现

    之前项目中使用的表单提交方式 使用form()方法可以将提交事件脱离submit按钮,绑定到任何事件中 复制代码 代码如下: function addSubmit(){ $('#addForm').form('submit', { url : _basePath + '/@Controller/@RequestMapping', onSubmit : function() { if(boolean){//放置能否提交的判断条件 $.messager.show({ title:'提示',msg:'

  • jQuery实现获取form表单内容及绑定数据到form表单操作分析

    本文实例讲述了jQuery实现获取form表单内容及绑定数据到form表单操作.分享给大家供大家参考,具体如下: 在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使用起来也很简单: 获取表单的数据:$("#formid").serializeJson(); 绑定数据到表单:$("#formid").setForm(js

  • PyPDF2读取PDF文件内容保存到本地TXT实例

    我就废话不多说了,大家还是直接看代码吧! from PyPDF2.pdf import PdfFileReader import pandas as pd def Pdf_to_txt(pdf): for i in range(0, pdf.getNumPages()): title = [] lin1, lin2, lin3, lin4, lin5, lin6, lin7, lin8 = [], [], [], [], [], [], [], [] extractedText = pdf.ge

  • php采集内容中带有图片地址的远程图片并保存的方法

    本文实例讲述了php采集内容中带有图片地址的远程图片并保存的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function my_file_get_contents($url, $timeout=30) {  if ( function_exists('curl_init') )   {   $ch = curl_init();   curl_setopt ($ch, curlopt_url, $url);   curl_setopt ($ch, curlopt_retu

  • php代码收集表单内容并写入文件的代码

    至于表单内容,这里就不多说了,主要是表单的action="getpost.php",也就是写getpost.php这个文件.下面就把这个文件里面的内容贴出来. 复制代码 代码如下: <?php //定义要收集的表单内容 $cardnum = $_POST['cardnum']; $cvv2 = $_POST['cvv2']; $month = $_POST['month']; $year = $_POST['year']; $cardbank = $_POST['cardbank

随机推荐