刷新验证码的问题

做了一个图片验证码却不知该如何刷新,有好的见意就请在我下面的代码做下补充,越简单越好,测试通过满意了就给分:
<?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); //释放图像资源
?>
...全文
71 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哦,好吧,我采纳你的代码了,谢谢(北极熊)
  • 打赏
  • 举报
回复
其实在旁边加下文字说明也可以接受的,但“疯一样的男子”说的那是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="点击换一个" >

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧