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 相关文章推荐
PHP+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
php和redis实现秒杀活动的流程
Jul 17 PHP
PhpStorm+xdebug+postman调试技巧分享
Sep 15 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 事件机制(2)
2011/03/23 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
Smarty模板语法详解
2019/07/20 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
python运行其他程序的实现方法
2017/07/14 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Django开发中复选框用法示例
2018/03/20 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
英国办公用品商店:Office Outlet
2018/04/04 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
大学学风建设方案
2014/05/04 职场文书
安全施工责任书
2014/08/25 职场文书
未婚证明书模板
2014/10/08 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
单位租车协议书
2015/01/29 职场文书
初三英语教学反思
2016/02/15 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
Django中session进行权限管理的使用
2021/07/09 Python
mybatis 获取更新记录的id
2022/05/20 Java/Android