欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP-Javascript“返回上一页”无缓存问题】,下面是详细的分享!
PHP-Javascript“返回上一页”无缓存问题
很多用PHP写脚本的朋友都会遇到这样的问题,比如一个注册页面(不使用任何AJAX),需要填写账号密码等信息,填写完后需要到服务端验证,如果验证不通过,就要让用户重新填写资料,这对很多用户来说这是一大煎熬,有可能就因此放弃了注册。遇到这种问题,一般有这几种解决方法:
1.仍然调用刚才的页面,输出错误提示,并把<input>中 value的值改为刚才用户输入的值。这应该是最好的方法,但缺点是要在这个页面的<input>的VALUE进行处理,比较麻烦。
2.还有很多懒人像我一样,遇到验证不通过,直接输出一个出错提示页面,并在页面中加入JavaScript的代码:
<a href=http://www.chinaz.com/program/2009/0209/"javascript:window.history.back();">返回</a>
或
<a href=http://www.chinaz.com/program/2009/0209/"javascript:window.history.go(-1);">返回</a>
这个代码是返回上一页的代码,返回后,除了密码类型的所有数据均会保留在网页中,这算是比较友好了。
但有很多朋友反应使用JS的返回后,网页上并没有数据的缓存,有时候却又有,真让人捉摸不定。前几天我在开发的时候也碰到了这个问题,上网Google许久未果,只好又从自己的代码分析入手。这时候,一句session_start(); 引起了我的注意。session_start(); 是开启 $_SESSION 会话的函数,开启SESSION后,似乎是每次访问一个网页都要重新调用一次网页。我把这句话去掉以后,问题就解决了。如果遇到网页数据不能缓存的,不妨去掉SESSION试试
以上所分享的是关于PHP-Javascript“返回上一页”无缓存问题,下面是编辑为你推荐的有价值的用户互动:
相关问题:用javascript:history.go(-1)返回上一页时,为什么...
答:在网站或Web系统设计中,当使用javascript的history.go(-1)或history.back()函数时,若上一页是静态页面或提交数据前的动态页面,则应该能够顺利返回,但若上一页是提交数据后的动态页面、或者禁用了缓存等原因,则可能导致出现“网页已过期”的现... >>详细
相关问题:如何在php禁止浏览器使用缓存页面的情况下返回原来...
答:$_SERVER['HTTP_REFERER']; 会记录浏览器从哪个页面来的,获取到对应的地址后可以赋值到前台静态页面,或者操作后后台直接跳转;希望对你有帮助 >>详细
相关问题:PHP中如何返回前一页并刷新页面
答:if($query) { $page="listrenwu.php"; echo "alert('删除成功');history.go(-1)"; --> echo "alert('删除成功');window.location = \"".$page."\";"; } >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
