关 键 词:
location.href,验证码不更新?
由于使用的是mvc结构,在输出页面html内容有这么一句,这是一个验证码图片显示
<img name="validate" src="validate.php" width="68" height="23" alt="看不清楚可点击这里更换!" border="0" onclick="this.src=this.src;" style="cursor : pointer;">
validate.php文件内容如下,可正常显示验证图片
CODE:
<?php
require_once('config.php');
unset($_SESSION['validate']);
require_once(PATH_CLASS.'validate.class.php');
new validate;
?>
config.phprequire_once('config.php');
unset($_SESSION['validate']);
require_once(PATH_CLASS.'validate.class.php');
new validate;
?>
CODE:
<?php
session_cache_limiter('private, must-revalidate');
session_start();
....
?>
当验证错误时提示session_cache_limiter('private, must-revalidate');
session_start();
....
?>
CODE:
<?php
.....
<input type="button" value="返 回" onclick="location.href=‘index.php?mod=login' ">
.....
?>
点击“返回”相当于重新在当前页打开一个页面。理论上说,应当显示的是一个新的验证码图片。然而,它仍旧显示旧的验证码图片。按f5刷新才会变成一个新的验证码图片。要知道 location.href 不等于history.go(-1), location.href 本身就相当于初始一个页面。而事实变得让人迷惑了。.....
<input type="button" value="返 回" onclick="location.href=‘index.php?mod=login' ">
.....
?>
经反复检查,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
CODE:
<?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;
?>
OK,问题解决了。 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开发资源论坛讨论。
相关文章
图文推荐
论 坛 资 源
·用PHP显示图片的EXIF信息
·显示数码图片的EXIF信息 Discuz插件ForDisc
·在PHP中cookie和session的使用总结
·哪个CMS比较好用-Mambo出鞘,谁与争锋?
·在PHP中使用Header()函数介绍
·用PHP实现JS的escape和unescape函数功能
·Cute Editor for PHP 6.0─ 一個所見即所得
·每一個 PHP 開發者都應該認識的十個開發項
·整理的Discuz程序文件目录含义表
·使用PHP伪造sessionid做防刷新功能
·显示数码图片的EXIF信息 Discuz插件ForDisc
·在PHP中cookie和session的使用总结
·哪个CMS比较好用-Mambo出鞘,谁与争锋?
·在PHP中使用Header()函数介绍
·用PHP实现JS的escape和unescape函数功能
·Cute Editor for PHP 6.0─ 一個所見即所得
·每一個 PHP 開發者都應該認識的十個開發項
·整理的Discuz程序文件目录含义表
·使用PHP伪造sessionid做防刷新功能
热门技术文档
·国外主流PHP框架评测
·用PHP显示图片的EXIF信息
·显示数码图片的EXIF信息 Discuz插件ForDisc
·在PHP中cookie和session的使用总结
·哪个CMS比较好用-Mambo出鞘,谁与争锋?
·在PHP中使用Header()函数介绍
·用PHP实现JS的escape和unescape函数功能
·Cute Editor for PHP 6.0─ 一個所見即所得
·每一個 PHP 開發者都應該認識的十個開發項
·整理的Discuz程序文件目录含义表
·用PHP显示图片的EXIF信息
·显示数码图片的EXIF信息 Discuz插件ForDisc
·在PHP中cookie和session的使用总结
·哪个CMS比较好用-Mambo出鞘,谁与争锋?
·在PHP中使用Header()函数介绍
·用PHP实现JS的escape和unescape函数功能
·Cute Editor for PHP 6.0─ 一個所見即所得
·每一個 PHP 開發者都應該認識的十個開發項
·整理的Discuz程序文件目录含义表
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
- · 3分钟快速了解 Delphi for PHP 特色 (中文), PDF档
- · 购买Delphi for PHP的五大理由, PDF档
- · Delphi for PHP 使用规格介绍, PDF档
- · Delphi for PHP 問答集 (From CodeGear)
- · Delphi for PHP 产品价格表
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容




