当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP-Javascript“返回上一页”无缓存问题

PHP
服务器端解压缩zip的脚本
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
PHP+JS无限级可伸缩菜单详解(简单易懂)
实例(Smarty+FCKeditor新闻系统)
影响PHP+MYSQL执行速度的写法对比
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
增加反向链接的101个方法 站长推荐
PHP音乐采集(部分代码)
用PHPdig打造属于你自己的Google[图文教程]
几篇关于无限分类算法的文章
解决GD中文乱码问题
浅析PHP水印技术
珊瑚虫IP库浅析
excellent!:ASCII Art(由目标图象生成ascii)
用PHP实现Ftp用户的在线管理的代码
可定制的PHP缩略图生成程式(需要GD库支持)
15种PHP Encoder的比较
利用discuz自带通行证整合dedecms的方法以及文件下载
用PHP 快速生成 Flash 动画的方法
六酷社区论坛HOME页清新格调免费版 下载

PHP-Javascript“返回上一页”无缓存问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 151 ::
收藏到网摘: n/a

很多用PHP写脚本的朋友都会遇到这样的问题,比如一个注册页面(不使用任何AJAX),需要填写账号密码等信息,填写完后需要到服务端验证,如果验证不通过,就要让用户重新填写资料,这对很多用户来说这是一大煎熬,有可能就因此放弃了注册。遇到这种问题,一般有这几种解决方法:

1.仍然调用刚才的页面,输出错误提示,并把<input>中 value的值改为刚才用户输入的值。这应该是最好的方法,但缺点是要在这个页面的<input>的VALUE进行处理,比较麻烦。

2.还有很多懒人像我一样,遇到验证不通过,直接输出一个出错提示页面,并在页面中加入JavaScript的代码:

<a href="javascript:window.history.back();">返回</a>

<a href="javascript:window.history.go(-1);">返回</a>
这个代码是返回上一页的代码,返回后,除了密码类型的所有数据均会保留在网页中,这算是比较友好了。

但有很多朋友反应使用JS的返回后,网页上并没有数据的缓存,有时候却又有,真让人捉摸不定。前几天我在开发的时候也碰到了这个问题,上网Google许久未果,只好又从自己的代码分析入手。这时候,一句session_start(); 引起了我的注意。session_start(); 是开启 $_SESSION 会话的函数,开启SESSION后,似乎是每次访问一个网页都要重新调用一次网页。我把这句话去掉以后,问题就解决了。如果遇到网页数据不能缓存的,不妨去掉SESSION试试