本篇文章主要介绍php点击可刷新验证码,感兴趣的朋友参考下,希望对大家有所帮助。

验证码类文件 CreateImg.class.php<?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<?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导出word的方法

PHP jpgraph安装及基本用法

php自定义分页类的原理

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

  1. vue-router 如何在当前路由下重新点击当前路由的router-link实现刷新

    转载自  vue-router 如何在当前路由下重新点击当前路由的router-link实现刷新 代码: <router-link to="/home" @click.nat ...

  2. 移动端网页返回主页功能php,移动端点击返回键,页面不刷新解决方案

    在移动端项目中遇到了点击浏览器返回键,页面不刷新的问题,通过研究学习,采用了以下的解决方案.问题解决了. (一)移动端点击返回键,页面不刷新解决方案 移动端浏览器点击返回上一级,页面不刷新的原因之一: ...

  3. selenium 实现循环点击_-循环点击遇到的坑(每次点击后返回,页面元素都会变化的解决方法)...

    # 前言 selenium定位一组元素,批量操作循环点击的时候会报错:Element not found in the cache - perhaps the page has changed sin ...

  4. python模拟网页点击_python模拟点击

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python怎么模拟点击网页按钮前提环境:python3 和 visual st ...

  5. android 模拟自动点击,自动点击器(模拟点击)

    应用介绍 自动点击器(模拟点击)是一款点击小工具应用,免费的且操作很便利,内里全部的成倍功能,全体都是免费的,内里又有详尽的操作说明,提倡运用之前好好的阅读,有需要的下载使用. 应用说明 自动点击器A ...

  6. 微信小程序点击更改样式-点击获得下划线

    微信小程序点击更改样式-点击获得下划线 <view class="container"> <scroll-view class='headerBox' scrol ...

  7. php实现展现量cookie,[转载]展现量、点击量、点击率;访客数、访问次数、浏览量的区别与作用...

    1. 什么是展现量.点击量.点击率 在百度推广后台可以看到消费.平均价格.点击.展现.点击率.千次展现费用等数据,这些数据是你全面评估推广效果.深入开展推广优化的基础. 在网民搜索查询时,如果您账户内 ...

  8. 点击量、点击率、访客数、的区别与作用

    1. 什么是展现量.点击量.点击率 在百度推广后台可以看到消费.平均价格.点击.展现.点击率.千次展现费用等数据,这些数据是你全面评估推广效果.深入开展推广优化的基础. 在网民搜索查询时,如果您账户内 ...

  9. Poco脚本的点击位置与点击偏移

    此文章来源于项目官方公众号:"AirtestProject" 版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 1. 前言 上一期我们讲了 Airtest的点击位 ...

  10. html 点击增加样式,js点击添加css样式 css添加jq点击事件 JavaScript点击增加css样式...

    js可实现点击后对div或者其他标签增加或者删除css样式,从而达到实现点击触发某种效果的目的.页面样式可以通过style修饰,也可以通过css修饰,改变css或者添加css可以改变页面的排版.代码如 ...

最新文章

  1. 腾讯云推出竞价实例 云服务器开销最高下降90%
  2. HTML和CSS基础知识
  3. echarts图例(legend)
  4. 多个 VUE 前端工程部署设置、nginx 代理配置
  5. python运维模块_Python 运维常用模块
  6. ThreadStatic特性简介
  7. 微信小程序:wx.getUserInfo 接口的变动与使用
  8. 58同城智能推荐系统的演进与实践
  9. python打开ie浏览器_python-IE浏览器调用
  10. 如何查看路由器中的宽带密码
  11. 关于skl计算机题目,系统崩溃,并且您不能更改 Windows 8.1 或 Windows Server 2012 R2 中的英特尔 SKL 平台上的 CPU 频率...
  12. 利用计算机解决问题的一般过程是怎样的,计算机解决问题的一般过程1
  13. C# WPF新版开源控件库:Newbeecoder.UI
  14. 使用Excel VBA制作成绩统计图----(嵌入模式)
  15. 北大计算机所孙俊教授,教育部人工智能咨询专家孙俊:科技怎样赋能智慧教育?...
  16. Axure RP9基本操作
  17. linux fat get entry,Linux kernel FAT32文件系统分析
  18. Jenkins基础:Jenkinsfile使用实例:5:使用when进行条件分支处理
  19. Android project依赖project配置说明
  20. Python处理excle表格

热门文章

  1. spring boot 2 整合 j2Cache
  2. DRF如何使用serializer进行验证数据
  3. linux系统安装kms,Linux安装部署KMS服务器
  4. WIN10 删除文件 找不到该项目
  5. 使用STM32与TB6612FNG驱动直流减速电机
  6. YCabPDF PDFView控件说明文档
  7. 怎样恢复手机oracle默认窗口,通达信恢复默认版面,Effects界面如何恢复初始默认设置...
  8. Python 之字典(dict)根据 value 获取 key
  9. 永恒之蓝漏洞自查-MS17010漏洞自查与修复
  10. 驱动开发:BSOD 0xC4_f6 句柄问题