session_start()导致history.go(-1)返回时无法保存表单数据的解决方法

来源:互联网 发布:冒险岛boss数据 编辑:程序博客网 时间:2024/05/17 04:08

问题背景:

在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面。但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了session_start()的原因,在js返回上一页时,不能保存住表单信息。

解决方法

在公共初始化文件的session_start()之后加入一句:
header('cache-control:private,must_revalidate')

或:

session_cache_limiter('private')

加入上面这个header后,当表单再次提交失败返回时,页面将正常的保存住所有填写的表单信息,包括input、select等,当然也可以解决在返回页面时提示“页面已过期”的警告。

工作原理:

正常的在返回上一页时,我们浏览器访问的是缓存的页面,而如果脚本中使用了session_start()函数后,脚本会强制让浏览器不缓存页面,浏览器会重新访问服务器刷新页面,所以当点击返回,或使用go(-1)方式向上跳转时会提示页面已过期、表单内容被清空的现象。


版权声明:除非注明,本文由( manon )原创,转载请保留文章出处

本文链接:session_start()导致history.go(-1)返回时无法保存表单数据的解决方法

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 海信电视很暗怎么办 淘新闻账号冻结怎么办 黑号抽不中天猫购物券怎么办 退款后购物津贴怎么办 天猫优惠券过期怎么办 淘宝店复核不过怎么办 房产新人没客源怎么办 淘宝商品被监管怎么办 天猫店铺监管怎么办 普票超额了怎么办 开票金额超过限额怎么办 淘宝拉入黑名单怎么办 淘宝卖食品证件怎么办 京东额度不够怎么办 天猫盒子内存不足怎么办 10086办无限流量怎么办 天猫营业额不够怎么办 试电笔电阻坏了怎么办 父子间车辆过户怎么办 房子卖了天然气怎么办 社保这个月没扣怎么办 员工不交社保怎么办 公司没交社保怎么办 微信转账受限怎么办 支付宝违规限制怎么办 微信转账不还钱怎么办 碳放久了不爱起火怎么办 闻碳火时间久了怎么办 被代运营诈骗怎么办 被上海聚连骗了怎么办? 蓝领贷逾期半年怎么办 淘宝店倒闭售后怎么办 淘宝店铺宝贝被下架怎么办 医院被托管编制怎么办 领码分百万账号异常怎么办 拼多多帐号异常怎么办 qq钱包交易异常怎么办 托管公司跑了怎么办? 花呗退款没到账怎么办 车辆过户了车牌怎么办 货车资格证脱审怎么办