php生成4位数字验证码的实现代码


Posted in PHP onNovember 23, 2015

在php中实现验证码还是很方便的,关键点在于掌握php gd库与session的用法。

纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随机数的方法来完成。

PHP验证码,可以分为很多种,包括 php 图片验证码,php 随机验证码,以及php 中文验证码等,根据不同的应用场合来使用不同的验证码。

这里分享一个php数字验证码,供大家参考。

4位数字验证码

/*
*Filename:authpage.php
*/ 
session_start(); 
//srand((double)microtime()*1000000); 
$authnum=$_SESSION['authnum']; 
//验证用户输入是否和验证码一致 
if(isset($_POST['authinput'])) 
{ 
if(strcmp($_POST['authinput'],$_SESSION['authnum'])==0) 
echo"验证成功!"; 
else 
echo"验证失败!"; 
} 
  
  
//生成新的四位整数验证码 
  
  
//while(($authnum=rand()%10000)<1000); 
?> 
<formaction=test4.phpmethod=post> 
<table> 
请输入验证码:<inputtype=textname=authinputstyle="width:80px"><br> 
<inputtype=submitname="验证"value="提交验证码"> 
<inputtype=hiddenname=authnumvalue=<?echo$authnum;?>> 
<imgsrc=authimg.php?authnum=<?echo$authnum;?>> 
</table> 
</form>

authimg.php

<?php 
//生成验证码图片 
Header("Content-type:image/PNG"); 
srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用 
  
session_start();//将随机数存入session中 
$_SESSION['authnum']=""; 
$im=imagecreate(62,20);//制定图片背景大小 
  
$black=ImageColorAllocate($im,0,0,0);//设定三种颜色 
$white=ImageColorAllocate($im,255,255,255); 
$gray=ImageColorAllocate($im,200,200,200); 
  
imagefill($im,0,0,$gray);//采用区域填充法,设定(0,0) 
  
while(($authnum=rand()%100000)<10000); 
//将四位整数验证码绘入图片 
$_SESSION['authnum']=$authnum; 
imagestring($im,5,10,3,$authnum,$black); 
//用col颜色将字符串s画到image所代表的图像的x,y座标处(图像的左上角为0,0)。 
//如果font是1,2,3,4或5,则使用内置字体 
  
for($i=0;$i<200;$i++)//加入干扰象素 
{ 
$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
imagesetpixel($im,rand()%70,rand()%30,$randcolor); 
} 
ImagePNG($im); 
ImageDestroy($im); 
?>

以上就是php生成4位数字验证码的实现代码,希望对大家的学习有所帮助,大家能够更加熟练地掌握php验证码的操作。

PHP 相关文章推荐
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php设计模式 Decorator(装饰模式)
Jun 26 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php使用curl存储cookie的示例
Mar 31 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
微信支付开发维权通知实例
Jul 12 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP 实现缩略图
Mar 09 PHP
3种php生成唯一id的方法
Nov 23 #PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 #PHP
PHP语法小结之基础和变量
Nov 22 #PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 #PHP
PHP中使用array函数新建一个数组
Nov 19 #PHP
PHP新建类问题分析及解决思路
Nov 19 #PHP
php有效防止同一用户多次登录
Nov 19 #PHP
You might like
php数据库配置文件一般做法分享
2012/07/07 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python数据结构之链表详解
2017/09/12 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
python自动化发送邮件实例讲解
2021/01/04 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
如何进行Linux分区优化
2016/09/13 面试题
2014的自我评价
2014/01/13 职场文书
毕业生自荐书
2014/02/03 职场文书
高中物理教学反思
2014/02/08 职场文书
合作意向协议书范本
2014/03/31 职场文书
社会实践活动总结范文
2014/07/03 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
话题作文之关于呼唤
2019/11/29 职场文书