验证码类文件 CreateImg.class.php

width=$width;

$this->height=$height;

$this->codenum=$codenum;

}

function outImg()

{

//输出头

$this->outFileHeader();

//产生验证码

$this->createCode();

//产生图片

$this->createImage();

//设置干扰像素

$this->setDisturbColor();

//往图片上写验证码

$this->writeCheckCodeToImage();

imagepng($this->checkimage);

imagedestroy($this->checkimage);

}

private function outFileHeader()

{

header ("Content-type: image/png");

}

private function createCode()

{

$this->checkcode = strtoupper(substr(md5(rand()),0,$this->codenum));

}

private function createImage()

{

$this->checkimage = @imagecreate($this->width,$this->height);

$back = imagecolorallocate($this->checkimage,255,255,255);

$border = imagecolorallocate($this->checkimage,0,0,0);

imagefilledrectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$back); // 白色底

imagerectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$border); // 黑色边框

}

private function setDisturbColor()

{

for ($i=0;$i<=200;$i++)

{

$this->disturbColor = imagecolorallocate($this->checkimage, rand(0,255), rand(0,255), rand(0,255));

imagesetpixel($this->checkimage,rand(2,128),rand(2,38),$this->disturbColor);

}

}

private function writeCheckCodeToImage()

{

for ($i=0;$i<=$this->codenum;$i++)

{

$bg_color = imagecolorallocate ($this->checkimage, rand(0,255), rand(0,128), rand(0,255));

$x = floor($this->width/$this->codenum)*$i;

$y = rand(0,$this->height-15);

imagechar ($this->checkimage, rand(5,8), $x, $y, $this->checkcode[$i], $bg_color);

}

}

function __destruct()

{

unset($this->width,$this->height,$this->codenum);

}

}

?>

包含文件 imgcode.php

outImg();

$_SESSION['validationcode'] = $image->checkcode; //存贮验证码到 $_SESSION 中

?>

前台文件 demo.php

?php

session_start();

$test = $_POST['test'];

$test = strtoupper(trim($test));

$submit = $_POST['submit'];

if(isset($submit)){

if($test==$_SESSION['validationcode']){

echo 'true';

} else {

echo 'false';

}

}

?>

Image

以上就是为大家介绍的php点击验证码即可刷新的全部代码,希望对大家的学习有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php验证码点击刷新,php实现点击可刷新验证码_PHP相关推荐

  1. php每分钟刷新一次的验证码,php如何在进入页面的时候自动刷新一次验证码

    页面直接进入login页面的时候无法获取到$_SESSION["auth"]值,只能刷新一次验证码才能获取到值,怎么才能在用户访问的时候自动刷新一次验证码,求大神支招... 验证码 ...

  2. vue获取手机验证码60秒倒计时,不能点击按钮

    vue获取手机验证码60秒倒计时,不能点击按钮 export const resend = element => {console.log(element)var num = 60var tim ...

  3. python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  4. android 刷新某条数据_Android 支持刷新、加载更多、带反弹效果的RecyclerView

    点击上方"Android技术杂货铺",选择"标星" 干货文章,第一时间送达! 开篇 当前市面上很多支持刷新.加载更多RecyclerView开源库,为何我这里还 ...

  5. 【Qt串口调试助手】1.3 - 重写ComboBox下拉框的鼠标点击事件,实现点击下拉框扫描可用串口

    由于ComboBox没有鼠标点击信号,所以如果想实现点击下拉框响应,需要重写ComboBox下拉框的鼠标点击事件.在点击事件中,添加扫描可用串口代码,实现点击下拉框时重新扫描串口.并且下拉框内容输出端 ...

  6. WebBrowser自动点击链接 广告自动点击 Ads Auto Click

    点击付费广告, 是目前比较流行的一种网络营销模式, 但是,如果你单纯的靠手工一个一个去点, 总觉得不划算 , 能不能实现自动的去点击呢? 答案是肯定的 .NET 里面的 WebBrowser, 可以满 ...

  7. 小米连续点击Android,屏幕自动点击

    应用介绍 屏幕自动点击:帮助广大安卓用户解放双手,实现短时间内快手连续点击加速,轻松设置点击频率: 屏幕自动点击:一键录制,可以重复录制的操作,轻松实现录制视频的操作,重复点击: [应用特色] 自动连 ...

  8. [网络收集]JS刷新页面总和!多种JS刷新页面代码!

    1) <meta http-equiv="refresh"content="10;url=跳转的页面"> 10表示间隔10秒刷新一次 2) < ...

  9. 验证码有哪些形式,为什么平时登陆要有验证码?

    验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安.Manuel Blum.Nicholas J.Hopper以及IBM的John Langford所提出.卡内基梅隆大学曾试图申请此词使其 ...

  10. 如何在 Mac App上刷新页面?苹果电脑的刷新

    刷新过程取决于您使用的应用程序.我们在下方列出了您可能需要刷新的最常见应用程序. 如何刷新 Safari Safari有两种刷新方式: 单击地址栏右侧的弯曲箭头. 按 Command-R. 要在 Sa ...

最新文章

  1. CF429D Tricky Function(求解公式、经分析转为求平面最近点对、思维)
  2. 两个栈实现一个队列,两个队列实现一个栈
  3. 查询存在表1但不存在表2的所有数据
  4. springcloud api-gateway详解
  5. [PHP] 项目实践中的自动加载实现
  6. Android中如何使控件保持固定宽高比
  7. 安装visual studio(vs)后无法安装SQLserver问题的成功解决
  8. POJ 2653 Pick-up sticks 判断线段相交
  9. 算法——贝叶斯公式的推导过程
  10. JVM内存分配策略原
  11. TinyXML2 入门教程
  12. 车路云一体化融合控制系统白皮书
  13. 什么叫手机android密码,手机这个密码必须设,99%的人不知道!
  14. 【去水印】最简单的百度图片去水印
  15. 文件过大 不能导入U盘怎么办
  16. android开发中Fingerprint模块浅析
  17. assets文件夹资源的访问
  18. MIMO如何获得分集增益(2)
  19. vue2.x+antd-vue搭建后管项目
  20. 【刷题】BZOJ 4698 Sdoi2008 Sandy的卡片

热门文章

  1. 接口测试工具--Postman安装
  2. 4.2 制定项目章程
  3. 工厂智能化远程运营管理系统方案
  4. 人工智能畅想——《人工智能简史》读后感
  5. 使用SoftEther 上免费校园网(ipv6)
  6. informatica学习1-数据仓库,ETL,数据仓库工具Informatica介绍
  7. ios 表情符号 键盘_如何在iPhone和iPad上从键盘上删除表情符号按钮
  8. 2020年度美国最受市场欢迎的十大编程语言
  9. 企业级静态代码分析工具清单
  10. 电机调速程序c语言,直流电机调速控制系统的C语言程序