麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
点击location.href页为什么我的验证码不更新?
悬赏分:20 - 2007年08月22日

由于使用的是mvc结构,在输出页面html内容有这么一句,这是一个验证码图片显示

看不清楚可点击这里更换!

validate.php文件内容如下,可正常显示验证图片
[php]
<?php
require_once('config.php');
unset($_SESSION['validate']);
require_once(PATH_CLASS.'validate.class.php');
new validate;
?>
[/php]
config.php
[php]
<?php
session_cache_limiter('private, must-revalidate');
session_start();
....
?>
[/php]
当验证错误时提示
[php]
.....

.....
[/php]
点击“返回”相当于重新在当前页打开一个页面。理论上说,应当显示的是一个新的验证码图片。然而,它仍旧显示旧的验证码图片。按f5刷新才会变成一个新的验证码图片。要知道 location.href 不等于history.go(-1), location.href 本身就相当于初始一个页面。而事实变得让人迷惑了。

经反复检查,validate.php文件没有问题,config.php文件也没有什么值得怀疑的。显示页面也不存在问题。那么,是什么原因造成这个短暂的错误呢?!在网上查了很久,也有人遇到过这种情况,但却没有解决方法。只能通过刷新页面来解决吗?

想呀想,莫非。。。。。

试一下,

真的可以了。
这次操作只加了两个符号
竟然可以了....
是”//“符号
//session_cache_limiter('private, must-revalidate');
这句session_cache_limiter('private, must-revalidate');的使用目的是让表单history.go(-1)的时候,填写内容不丢失。现在,却成了一绊脚石.....
于是再改。session_cache_limiter('private, must-revalidate');这句是要保留的,不能注释掉,否则,表单返回时数据就丢失了。只能在validate.php里面做文章。
validate.php
[php]
<?php
header("ETag: PUB" . time());
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Pragma: no-cache");
header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");
session_cache_limiter("nocache");

require_once('config.php');
unset($_SESSION['validate']);
require_once(PATH_CLASS.'validate.class.php');
new validate;
?>
[/php]
OK,问题解决了。

提问者:qh663   08-22 08:08
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
100 + 90 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM