本文实例为大家分享了php点击可刷新验证码的具体代码,供大家参考,具体内容如下

验证码类文件 CreateImg.class.php

class ValidationCode

{

private $width,$height,$codenum;

public $checkcode; //产生的验证码

private $checkimage; //验证码图片

private $disturbColor = ''; //干扰像素

function __construct($width='80',$height='20',$codenum='4')

{

$this->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

session_start();

require_once('CreateImg.class.php');

$image = new ValidationCode('80','20','4'); //图片长度、宽度、字符个数

$image->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

function newgdcode(obj,url) {

obj.src = url+ '?nowtime=' + new Date().getTime();

//后面传递一个随机参数,否则在IE7和火狐下,不刷新图片

}

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

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

  1. 验证码画布生成以及点击图片切换验证码

    //这个验证码画布生成是师兄写的,不是本人写的 1 package com.didinx.common; 2 3 import javax.imageio.ImageIO; 4 import java ...

  2. php 如何让验证码刷新,php实现点击可刷新验证码_php技巧

    验证码类文件 CreateImg.class.php width=$width; $this->height=$height; $this->codenum=$codenum; } fun ...

  3. javaweb登录界面验证码自动生成,点击重新生成验证码,验证码与输入框的校验

    当进入登录界面时,验证码图片自动生成,验证码图片颜色随机,字母颜色随机,该代码只是随机生成小写英文字母,没有设置大写字母和数字 点击验证码图片重新生成验证码 验证码输入错误时,提示出来 验证码输入正确 ...

  4. RPA中关于“滑动”验证码与按照“语序”点击两类验证码

    学Python,用RPA 艺赛旗RPA2020.1版本 正在免费下载使用中,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 最近发现很多伙伴在项目中都 ...

  5. (RPA)学习——谈谈关于“滑动”验证码与按照“语序”点击两类验证码

    为了大家近距离了解RPA,推出信用卡账单管理机器人,独立场景,独立使用,欢迎免费下载使用: http://fs.i-search.com.cn/setup/card1.0.0.13_csdn.exe ...

  6. 微信小程序实现点击生成随机验证码功能

    效果图 wxml <view bindtap="getCode">{{ code }}</view> js Page({data: {code: '' }, ...

  7. 怎么让html自动刷新,“360浏览器怎么设置自动刷新网页解决方案”的解决方案...

    问题描述:如何设置360浏览器的自动刷新功能 解决方案: 1.安装360安全浏览器和360极速浏览器.如果你的浏览器不是360的,那么先打开360安全卫士,找到"软件管家",找到& ...

  8. 生成验证码点击可刷新

    我把生成验证码与生成验证码图片封装成一个静态方法,放到ValidateCode类里 /// <summary> /// 生成验证码的类 /// </summary> publi ...

  9. ThinkPHP55.1验证码的使用及点击刷新

    验证码现在是用户登录.支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考. 前台用户在登录时候 ...

  10. php点击图片更新验证码,thinkphp点击图片刷新验证码

    本类验证码功能刷新功能,涉及到两个刷新,一个是点击验证码图片刷新,另一个是输错验证码刷新,当然自己刷新那就不要说了,那是肯定会刷新的.thinkPHP框架里面内置了verify.class.php验证 ...

最新文章

  1. 决策树模型与学习《一》
  2. java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
  3. 【算法与数据结构】在n个数中取第k大的数(基础篇)
  4. caffe 加入 cudnn编译
  5. Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)
  6. honeyselect捏脸教程_动漫女生的脸怎么画?卡通漫画少女教学
  7. django定时任务
  8. 华为可以看游戏时长吗_怎么测试华为手机玩游戏的帧率情况
  9. win7系统怎么拷贝到u盘_win7/10系统复制文件到u盘提示文件过大怎么办
  10. Flex布局新旧混合写法详解
  11. 林肯android auto,林肯mkz仪表盘怎么设置中文
  12. 《Head First设计模式》 读书笔记05 工厂模式(二)
  13. 如何为您的应用选择合适的微控制器?
  14. 使用latex撰写Elsevier双栏论文,表格标题caption左对齐问题
  15. 迅雷任务出错怎么办,如何解决迅雷任务出错
  16. 最全移动端UI设计规范,作为前端的你,了解多少?
  17. 用python如何制作表格_Python中如何用xlwt制作表格
  18. Heap的讲解 - 介绍
  19. VBA 2000年之后活期存款利息计算
  20. 将Markdown转化为图片

热门文章

  1. postman安装后闪退
  2. Java IO 和 NIO的区别
  3. java卡 apdu_Java卡APDU删除命令给出'69' '85'错误代码
  4. apdu 移动sim_SIM卡基础技术规范, ISO-7816协议(APDU指令)
  5. xpath无法定位tbody
  6. 电路设计_CAN总线基础知识
  7. origin中文版散点图拟合曲线_Origin9绘图时对一组散点图中的不同部分分别进行线性拟合的方法...
  8. ios定位权限plist_iOS(定位一)后台定位和前台定位权限设置
  9. 使用TRADOS翻译软件助力论文写作-基本软件设置、谷歌GOOGLE和百度翻译平台接入
  10. 模式识别学习笔记——1(线性分类器)