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 特殊字符处理函数
Sep 05 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
php设置编码格式的方法
Mar 05 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
PHP积分兑换接口实例
Feb 09 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
详解thinkphp中的volist标签
Jan 15 PHP
php使用yield对性能提升的测试实例分析
Sep 19 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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
房地产出纳岗位职责
2013/12/01 职场文书
高中班长自我鉴定
2013/12/20 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
简历中自我评价范文
2015/03/11 职场文书
公司的力量观后感
2015/06/05 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js