表单提交错误后返回内容消失问题的解决方法(PHP网站) |
表单提交错误后返回内容消失怎么办呐,今天就来分析解决一下这个问题 。 状况概述: 做填写表单信息提交的时候会碰到一个问题就是当用户填写并提交表单后,程序判断不符合要求并返回,返回之后之前填写的表单信息会被清空了的情况 。如果填写的信息量少还无所谓,如果填写的信息量比较多,这会直接打击到填写信息的人的良好心情 。因此解决表单提交错误返回后填写的内容消失的问题是一个提高用户体验度的迫在眉睫的问题 。 header("Cache-control:private");//注意在本行之前你的PHP程序不能有任何输出 还有其他的几种解决方法是在session_start前加上 session_cache_limiter(nocache); //清空表单 session_cache_limiter(private); //不清空表单,只在session生效期间 session_cache_limiter(public); //不清空表单,如同没使用session一般 上面的设置session会使seesion出现缓存的现象,从而导致当你应用到session的地方会出现session信息不能更新的问题,鉴于这个原因,本文提出下面几种其他的解决办法 。 Public:指示响应可被任何缓存区缓存 。 Private:指示对于单个用户的整个或部分响应消息,不能被共享缓存处理 。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效 。 no-cache:指示请求或响应消息不能缓存 no-store:用于防止重要的信息被无意的发布 。在请求消息中发送将使得请求和响应消息都不使用缓存 。 max-age:指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应 。 min-fresh:指示客户机可以接收响应时间小于当前时间加上指定时间的响应 。 max-stale:指示客户机可以接收超出超时期间的响应消息 。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息 。 读完这篇文章大家再遇到类似问题就可以彻底解决了,特别提醒的是这个解决方法仅针对php网站,可记住了 。 |