怎么解决php验证码不变的问题
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍"怎么解决php验证码不变的问题",在日常操作中,相信很多人在怎么解决php验证码不变的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么解决php
千家信息网最后更新 2025年11月13日怎么解决php验证码不变的问题
这篇文章主要介绍"怎么解决php验证码不变的问题",在日常操作中,相信很多人在怎么解决php验证码不变的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么解决php验证码不变的问题"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
php验证码不变的解决办法:1、使用"_javascript:ckimg();"方法实现更换一张验证码;2、通过"οnclick="this.src='..."方法实现点击换图片即可。
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
php 验证码不变怎么办?
php验证码无刷新改变(更换)
test.php
看不清,请换一张
![]()
生产验证码的类,包含了一些验证码生成的参数,如:大小,颜色,显示验证码的符号类型
validateCode2.php
len = $len; $im_width = $len * 15;$this->im_width = $im_width;$this->im_height= $im_height;$this->im = imagecreate($im_width,$im_height);}// 设置图片背景颜色,默认是浅灰色背景function set_bgcolor () {imagecolorallocate($this->im,$this->red,$this->green,$this->blue);}// 获得任意位数的随机码function get_randnum () {$an1 = 'abcdefghijklmnopqrstuvwxyz';$an2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';$an3 = '0123456789';if ($this->ext_num_type == '') $str = $an1.$an2.$an3;if ($this->ext_num_type == 1) $str = $an1;if ($this->ext_num_type == 2) $str = $an2;if ($this->ext_num_type == 3) $str = $an3;for ($i = 0; $i < $this->len; $i++) { $start = rand(1,strlen($str) - 1); $randnum .= substr($str,$start,1);}$this->randnum = $randnum;$_SESSION[an] = $this->randnum;}// 获得验证码图片Y轴function get_y () {if ($this->ext_rand_y) $this->y = rand(5, $this->im_height/5);else $this->y = $this->im_height / 4 ;}// 获得随机色function get_randcolor () {$this->randcolor = imagecolorallocate($this->im,rand(0,100),rand(0,150),rand(0,200));}// 添加干扰点function set_ext_pixel () {if ($this->ext_pixel) {for($i = 0; $i < 100; $i++){$this->get_randcolor();imagesetpixel($this->im, rand()0, rand()0, $this->randcolor);}}}// 添加干扰线function set_ext_line () {if ($this->ext_line) {for($j = 0; $j < 2; $j++){$rand_x = rand(2, $this->im_width);$rand_y = rand(2, $this->im_height);$rand_x2 = rand(2, $this->im_width);$rand_y2 = rand(2, $this->im_height);$this->get_randcolor();imageline($this->im, $rand_x, $rand_y, $rand_x2, $rand_y2, $this->randcolor);}}}/**创建验证码图像:* 建立画布(__construct函数)* 设置画布背景($this->set_bgcolor();)* 获取随机字符串($this->get_randnum ();)* 文字写到图片上(imagestring函数)* 添加干扰点/线($this->set_ext_line(); $this->set_ext_pixel();)* 输出图片**/function create () {$this->set_bgcolor();$this->get_randnum ();for($i = 0; $i < $this->len; $i++){$font = rand(4,6);$x = $i/$this->len * $this->im_width + rand(1, $this->len);$this->get_y();$this->get_randcolor();imagestring($this->im, $font, $x, $this->y, substr($this->randnum, $i ,1), $this->randcolor);}$this->set_ext_line();$this->set_ext_pixel();header("content-type:image/png");imagepng($this->im);imagedestroy($this->im); //释放图像资源}}//end class/**使用验证码类的方法:* $an = new Authnum(验证码长度,图片宽度,图片高度);* 实例化时不带参数则默认是四位的60*25尺寸的常规验证码图片* 表单页面检测验证码的方法,对比 $_SESSION[an] 是否等于 $_POST[验证码文本框ID]* 可选配置:* 1.验证码类型:$an->ext_num_type=1; 值为1是小写类型,2是大写类型,3是数字类型* 2.干扰点:$an->ext_pixel = false; 值为false表示不添加干扰点* 3.干扰线:$an->ext_line = false; 值为false表示不添加干扰线* 4.Y轴随机:$an->ext_rand_y = false; 值为false表示不支持图片Y轴随机* 5.图片背景:改变 $red $green $blue 三个成员变量的值即可**/$an = new Authnum();$an->ext_num_type='';$an->ext_pixel = true; //干扰点$an->ext_line = false; //干扰线$an->ext_rand_y= true; //Y轴随机$an->green = 238;$an->create();?>到此,关于"怎么解决php验证码不变的问题"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
验证
图片
干扰
问题
方法
类型
背景
学习
函数
参数
图像
更多
画布
颜色
帮助
接下来
三个
位数
办法
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
c 中数据库中数据读取
网络安全的案例事实国家安全
数据库需要懂什么
行业代码其他软件开发
ftp服务器 手机
罗湖网络安全服务电话
数据库有几百万条数据
教育部幼儿园网络安全工作
数据库session6
奉节诗奉网络技术地址
橘火网络技术
武汉商河网络技术有限公司
js从数据库获取题库
网络行动 网络安全 作文
网络技术高峰
打开中文数据库要哪些软件
没有打印服务器属性
谈通信网络安全
网络安全管理类 工作
小班防网络安全教案6篇
ipv6网络安全治理
工业总线与网络技术
中南大学数据库技术与应用
ftp服务器与文件共享
esxi 存储服务器加硬盘
网上数据库文献标识
强网杯网络安全挑战
网络安全行业前景2021
蓝欧网络安全实训
网络安全建设背景三个方面