刷新验证码的问题

做了一个图片验证码却不知该如何刷新,有好的见意就请在我下面的代码做下补充,越简单越好,测试通过满意了就给分:
<?php
session_start();
header("content-type:image/png"); //设置创建图像的格式
$image_width=70; //设置图像宽度
$image_height=18; //设置图像高度
srand(microtime()*100000); //设置随机数的种子
for($i=0;$i<4;$i++){ //循环输出一个4位的随机数
$new_number.=dechex(rand(0,15));
}
$_SESSION[check_checks]=$new_number; //将获取的随机数验证码写入到SESSION变量中

$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,000,255,255); //设置画布的颜色
for($i=0;$i<strlen($_SESSION[check_checks]);$i++){ //循环读取SESSION变量中的验证码
$font=mt_rand(3,5); //设置随机的字体
$x=mt_rand(1,8)+$image_width*$i/4; //设置随机字符所在位置的X坐标
$y=mt_rand(1,$image_height/4); //设置随机字符所在位置的Y坐标
$color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //设置字符的颜色
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color); //水平输出字符
}
imagepng($num_image); //生成PNG格式的图像
imagedestroy($num_image); //释放图像资源
?>
...全文
42 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
哦,好吧,我采纳你的代码了,谢谢(北极熊)
回复
其实在旁边加下文字说明也可以接受的,但“疯一样的男子”说的那是js改变了img的src值,,加个随机参数,防缓存就好了,看来有缓存问题不是吗
回复
heyli 2010-10-16
直观显示 你就要自己要<img>后面加段文字说明了
随机数 防止有缓存
回复
<img src="image.php" onclick="this.src='image.php?t='+Math.random()+'';" title="点击换一个" >
测试是通过了,可没有直观文字提示,需移动鼠标到上面才知道
ps:
onclick="this.src='image.php?t='+Math.random()+'' // ?t='' t 参数是指时间吗?
回复
heyli 2010-10-16
如果要看不清换一个 用上面的onclick 是对的
回复
amani11 2010-10-16
那是js改变了img的src值,,加个随机参数,防缓存就好了
回复
amani11 2010-10-16
经测试,没有问题


session_start();
header("content-type:image/png"); //设置创建图像的格式
$image_width=70; //设置图像宽度
$image_height=18; //设置图像高度
srand(microtime()*100000); //设置随机数的种子
$new_number='';
for($i=0;$i<4;$i++){ //循环输出一个4位的随机数
$new_number.=dechex(rand(0,15));
}
$_SESSION['check_checks']=$new_number; //将获取的随机数验证码写入到SESSION变量中

$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,000,255,255); //设置画布的颜色
for($i=0;$i<strlen($_SESSION['check_checks']);$i++){ //循环读取SESSION变量中的验证码
$font=mt_rand(3,5); //设置随机的字体
$x=mt_rand(1,8)+$image_width*$i/4; //设置随机字符所在位置的X坐标
$y=mt_rand(1,$image_height/4); //设置随机字符所在位置的Y坐标
$color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //设置字符的颜色
imagestring($num_image,$font,$x,$y,$_SESSION['check_checks'][$i],$color); //水平输出字符
}
imagepng($num_image); //生成PNG格式的图像
imagedestroy($num_image); //释放图像资源
回复
对啊我就是要加下看不清换一个之类的 <a>代码,这个“image.php” //验证码图片生成脚本
回复
heyli 2010-10-16
好像理解错了...
回复
heyli 2010-10-16
<img src="验证码文件" onclick="this.src='验证码文件?t='+Math.random()+'';" title="点击换一个" >
回复
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2010-10-16 11:40
社区公告
暂无公告