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
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
- history.go(-1)后表单数据不能保存是由session_start()造成的,解决办法
- history.go(-1)无法获取表单数据的解决方法
- window.history.go(-1)返回上页的同时刷新
- window.history.go(-1)返回上页的同时刷新
- javascript history.go(-1) 返回刷新
- javascript的history.go(-1)
- Word2003保存时提示语音数据无法保存怎么办?解决方法
- 关于PHP CURL post数据时数据过大导致无法接收返回信息的处理方法
- php history.back返回后表单数据丢失的解决办法
- window.history.go()返回上页
- 利用history.go页面返回
- android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
- PHP “Warning: session_start()...” 的解决方法
- window.history.go(-1)返回上页的同时刷新"上页"技术
- window.history.go(-1)返回上页的同时刷新"上页"技术
- window.history.go(-1)返回上页的同时刷新"上页"技术
- Length of Last Word
- 第一个周计划
- 修复PHP支持的标准JSON数据格式
- 请问去问问企鹅屋企恶趣味
- javascript新特性let,function*,yield,promise
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
- 108 盧守愼 蘇齋
- 109 鄭惟吉 林塘
- 110 李俊民 新庵
- ssssskajshdiashidhoasdjiopasj
- 111 邊協 南湖
- Java - extends
- LeetCode 题解(57): Maximum Product Subarray
- beautifulsoup官方文档