php验证码刷新_php实现点击可刷新验证码
本文实例为大家分享了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 package com.didinx.common; 2 3 import javax.imageio.ImageIO; 4 import java ...
- php 如何让验证码刷新,php实现点击可刷新验证码_php技巧
验证码类文件 CreateImg.class.php width=$width; $this->height=$height; $this->codenum=$codenum; } fun ...
- javaweb登录界面验证码自动生成,点击重新生成验证码,验证码与输入框的校验
当进入登录界面时,验证码图片自动生成,验证码图片颜色随机,字母颜色随机,该代码只是随机生成小写英文字母,没有设置大写字母和数字 点击验证码图片重新生成验证码 验证码输入错误时,提示出来 验证码输入正确 ...
- RPA中关于“滑动”验证码与按照“语序”点击两类验证码
学Python,用RPA 艺赛旗RPA2020.1版本 正在免费下载使用中,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 最近发现很多伙伴在项目中都 ...
- (RPA)学习——谈谈关于“滑动”验证码与按照“语序”点击两类验证码
为了大家近距离了解RPA,推出信用卡账单管理机器人,独立场景,独立使用,欢迎免费下载使用: http://fs.i-search.com.cn/setup/card1.0.0.13_csdn.exe ...
- 微信小程序实现点击生成随机验证码功能
效果图 wxml <view bindtap="getCode">{{ code }}</view> js Page({data: {code: '' }, ...
- 怎么让html自动刷新,“360浏览器怎么设置自动刷新网页解决方案”的解决方案...
问题描述:如何设置360浏览器的自动刷新功能 解决方案: 1.安装360安全浏览器和360极速浏览器.如果你的浏览器不是360的,那么先打开360安全卫士,找到"软件管家",找到& ...
- 生成验证码点击可刷新
我把生成验证码与生成验证码图片封装成一个静态方法,放到ValidateCode类里 /// <summary> /// 生成验证码的类 /// </summary> publi ...
- ThinkPHP55.1验证码的使用及点击刷新
验证码现在是用户登录.支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考. 前台用户在登录时候 ...
- php点击图片更新验证码,thinkphp点击图片刷新验证码
本类验证码功能刷新功能,涉及到两个刷新,一个是点击验证码图片刷新,另一个是输错验证码刷新,当然自己刷新那就不要说了,那是肯定会刷新的.thinkPHP框架里面内置了verify.class.php验证 ...
最新文章
- 决策树模型与学习《一》
- java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
- 【算法与数据结构】在n个数中取第k大的数(基础篇)
- caffe 加入 cudnn编译
- Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)
- honeyselect捏脸教程_动漫女生的脸怎么画?卡通漫画少女教学
- django定时任务
- 华为可以看游戏时长吗_怎么测试华为手机玩游戏的帧率情况
- win7系统怎么拷贝到u盘_win7/10系统复制文件到u盘提示文件过大怎么办
- Flex布局新旧混合写法详解
- 林肯android auto,林肯mkz仪表盘怎么设置中文
- 《Head First设计模式》 读书笔记05 工厂模式(二)
- 如何为您的应用选择合适的微控制器?
- 使用latex撰写Elsevier双栏论文,表格标题caption左对齐问题
- 迅雷任务出错怎么办,如何解决迅雷任务出错
- 最全移动端UI设计规范,作为前端的你,了解多少?
- 用python如何制作表格_Python中如何用xlwt制作表格
- Heap的讲解 - 介绍
- VBA 2000年之后活期存款利息计算
- 将Markdown转化为图片
热门文章
- postman安装后闪退
- Java IO 和 NIO的区别
- java卡 apdu_Java卡APDU删除命令给出'69' '85'错误代码
- apdu 移动sim_SIM卡基础技术规范, ISO-7816协议(APDU指令)
- xpath无法定位tbody
- 电路设计_CAN总线基础知识
- origin中文版散点图拟合曲线_Origin9绘图时对一组散点图中的不同部分分别进行线性拟合的方法...
- ios定位权限plist_iOS(定位一)后台定位和前台定位权限设置
- 使用TRADOS翻译软件助力论文写作-基本软件设置、谷歌GOOGLE和百度翻译平台接入
- 模式识别学习笔记——1(线性分类器)