资源描述
网页已过期解决方案我的第一个解决方案:是将form表单的提交方式由post改为get,但是有缺陷我的第二个解决方案:将我的返回由“history.back()方式改为返回到具体的页面,参数根据具体情况设置从网上搜集到的很多原因或解决方法,陈列如下: 一:返回时将 window.history.go(-1),改为 window.history.go(-2)即可! 【这样做有局限性,如果我就想返回上一页呢?】 二:网速慢 三:网页已经被封了 四:比如说你现在建了一个网站啦,而且你申请的IP是到别的网站上申请的,而且不是免费的,如果到期的话,就有可能你的网站就打不开啦. 这样就会显示见面过期啦. 五:这个网页是跟你某个帐户安全修改设置有关,一般都有期限设置或次数限制,比如在3天之类登陆该网页修改或只能在该网页修改一 次, 如果超过期限或次数,打开就会提示网页已经过期.比如QQ修改密码的链接,如果你登陆修改过后或超过天数再登陆也是这样提示 六:网页过期是指会话变量session过期. 七:估计是原本已经提交过后出来的结果,又刷新了一边,网站为防止重复提交,所以对其进行了保护,! 八:一般是按后退键时会出现这种情况。如果你已经登出而又通过后退进入你登入过的页面,就会出现这种情况。或者是提交了什么表单时也有这种情况。 以下任一原因均可导致此问题: ? 在 Internet Explorer 高级设置中启用了“不将加密的页存盘”选项。 ? 您连接到了 Microsoft Internet 信息服务器 (IIS) 第 4.0 版服务器上的一个 Active Server Page (.asp) Web 页,并且此 Web 页在标题中使用了“cache-control:private”标记。注意:此问题只会发生在遵守 HTTP/1.1 标准的服务器上。HTTP/1.0 服务器上不支持 Cache- control 指令。 要解决此问题,既可以禁用“不将加密的页存盘”选项,也可以获取并安装 Internet Explorer 的最新版本 九【自认为比较靠谱的一个】: 问:为什么我在点击浏览器后退按钮后,所有字段的信息都被清空了? 答:这是由于你在你的表单提交页面中使用了session_start函数 /以下是某人的理解 因为我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存,所以就出现了警告:“页面已过期”这些信息,而我们不得不刷新下才能正常显示,对于一个程序人员来说可能无所谓,但是对于一个internet网上的一个顾客来说,看到该页面,他有可能关闭该页面,而不会去查看这些信息 还有一个原因就是当一个网络流量比较大的时候,缓存是我们程序人员最好的工具,如果失去了这把工具,那么你所在的虚拟服务器必将受到考验! 解决办法为,在你的Session_start函数后加入header(Cache-control:private);注意在本行之前你的PHP程序不能有任何输出 还有基于session的解决方法,在Session_start前加上 session_cache_limiter(nocache); /清空表单 session_cache_limiter(private); /不清空表单,只在session生效期间 session_cache_limiter(public); /不清空表单,如同没使用session一般 十:把form的method方式改为get就可以了
展开阅读全文