zoukankan      html  css  js  c++  java
  • session_start()导致history.go(-1)返回时无法保存表单数据的解决方法

    问题背景:

    在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面。但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了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)返回时无法保存表单数据的解决方法

  • 相关阅读:
    单调递增的数字
    合并K个升序链表
    ISO 8 自适应cell
    动态计算UITableViewCell高度
    APP上传
    多线程 GCD队列组
    多线程 线程之间的通信
    多线程 GCD
    多线程 线程同步问题
    多线程 线程的状态
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061099.html
Copyright © 2011-2022 走看看