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安装问题
Oct 09 PHP
php&amp;java(三)
Oct 09 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 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+ajax制作无刷新留言板
2015/10/27 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
vue的一个分页组件的示例代码
2017/12/25 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python Socket编程详细介绍
2017/03/23 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
在Python中定义一个常量的方法
2018/11/10 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
医院合作协议书
2014/08/19 职场文书
汽车销售合同文本
2019/08/08 职场文书
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android