php history.back重回后表单数据错失的化解办法

js使用history.back再次来到表单数据错过的尤为重要缘由便是应用了session_start();的原因,该函数会强制当前页面不被缓存。本小说向码农介绍php
history.back重返后表单数据错失的化解办法,感兴趣的码农能够参谋一下。

  第一,使用Header方法设置消息头Cache-control

表单提交错误后重临内容未有怎么办呐,前天就来剖判消除一下那几个难点。

化解办法如下:

QUOTE:
header(‘Cache-control: private, must-revalidate’);  //援助页面回跳

情状概述:

在你的 Session_start 函数后加盟 header(“Cache-control: private”);
注意在同行当以前您的PHP程序不能够有别的输出。

第二,使用session_cache_limiter方法

做填写表单消息交到的时候会赶过二个难点正是当顾客填写并提交表单后,程序剖断不切合须求并赶回,重返之后以前填写的表单音讯会被清空了的景色。假设填写的音信量少还无所谓,若是填写的新闻量相当多,这会一贯打击到填写消息的人的突出心态。由此消除表单提交错误重临后填写的内容未有的主题素材是四个加强客户体验度的紧急的标题。
对此这种难题,综合计算了大概有上边二种情状:
(1)页面使用了session_start函数,这几个函数有个特征就是会强制当前页面不被刷新,消除措施就是在此函数后增进下边这段代码:

再有基于session的消除情势,在session_start前加上

QUOTE:
  //注意要写在session_start方法以前
    session_cache_limiter(‘private, must-revalidate’);

header("Cache-control:private");//注意在本行之前你的PHP程序不能有任何输出 

session_cache_limiter(‘nocache’);// 清空表单
session_cache_limiter(‘private’); //不清空表单,只在session生效期间
session_cache_limiter; //不清空表单,仿佛没利用session日常

补充:
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。各种音讯中的指令含义如下:

还应该有任何的三种缓和方法是在session_start前加上

原著地址:

    Public提醒响应可被别的缓存区缓存。

session_cache_limiter('nocache'); //清空表单 
session_cache_limiter('private'); //不清空表单,只在session生效期间 
session_cache_limiter('public'); //不清空表单,如同没使用session一般 

连带阅读:

    Private提醒对于单个客户的百分百或局地响应音讯,无法被分享缓存管理。那允许服务器仅仅描述当客商的部分响应音讯,此响应新闻对于别的客商的伸手无效。

地点的装置session会使seesion出现缓存的光景,进而产生当你使用到session的地点会出现session新闻不能更新的标题,鉴于那几个原因,本文建议上边三种另外的消除办法。
 (2)使用Header方法设置新闻头Cache-control,在页面参与下段代码: header(‘Cache-control: private, must-revalidate’); 
//扶助页面回跳,注意本行在此以前不能够有任何输出
(3)使用session_cache_limiter方法,在页面加入下段代码: session_cache_limiter(‘private, must-revalidate’);
//注意要写在session_start方法在此之前
下边前遭遇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。种种音信中的指令含义如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图