刷新验证码的问题

做了一个图片验证码却不知该如何刷新,有好的见意就请在我下面的代码做下补充,越简单越好,测试通过满意了就给分:
<?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); //释放图像资源
?>
...全文
96 10 打赏 收藏 举报
写回复
用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="点击换一个" >
内容概要:本文详细描述了机械零件Part4的设计与建模过程,重点围绕三维建模中的几何构造操作展开。首先基于原零件三视图确定关键尺寸,依次创建多个同心圆柱体结构,包括外层圆柱体(52、52、5)、中间圆柱体(25、25、7)以及中心孔结构(16、16、12)。随后对底部圆柱体进行临时加高处理,以便在顶面草绘中构建辅助图形:以计算得出的半径17.5画圆,并在其接触面上方绘制半径为3的小圆,进而引出两条分别成60°和-60°的斜线,配合一条水平线形成三角形轮廓。接着在其余两角复制相同的小圆结构,清理多余线条后完成草图设计。利用该草图执行“拉伸切除”操作,深度设为16.28mm,实现特征开槽。最后将底部圆柱体恢复原始高度5mm,完成整体结构修改。; 适合人群:具备基础CAD建模能力的机械设计人员或工科类学生;熟悉SolidWorks、AutoCAD等三维设计软件的操作者;从事零部件逆向设计或结构优化的技术人员。; 使用场景及目标:①用于学习复杂零件的分步建模方法,掌握从三视图到三维实体的转换技巧;②理解拉伸、切除、草图约束、包围盒设置等核心建模命令的实际应用;③提升对尺寸链计算、辅助线构建及几何关系控制的理解与实践能力。; 阅读建议:建议结合文中参数逐步在建模软件中复现操作,重点关注草图绘制逻辑与切除特征的关联性,注意各步骤间的顺序依赖关系,避免因尺寸或约束错误导致建模失败。

20,393

社区成员

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

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