怎么解决php验证码不变的问题
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"怎么解决php验证码不变的问题",在日常操作中,相信很多人在怎么解决php验证码不变的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么解决php
千家信息网最后更新 2026年11月02日怎么解决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安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
互联网与科技发展
网络科技有限互联网
易互联网科技有限公司
壕鑫互联网络科技
融势互联网科技
互联网科技的未来发展
互联网金融科技委员会
居家互联网科技有限公司
盛创互联网科技有限公司
顺网科技2021年互联网排名
哈尔滨新华互联网科技学院
江阴互联网智能科技产品进口
互联网科技大赛获奖感言
每天都有哪些好的互联网科技
浙南科技城互联网大厦招聘
互联网科技快讯热点
福建互联网展示科技馆设计
唐山双旺合互联网科技产业园
重庆科技产业互联网有哪些
咖啡
科技互联网技术
互联网 科技公司
长亮科技 互联网金融
中国互联网有什么科技含量
湖南诚度互联网科技有限公司
徐州市互联网科技有限公司
安徽零酒互联网科技有限公司
保山浩联互联网科技有限公司
现代科技的标志之一的互联网