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桌面中心(三) 修改数据库
Mar 11 PHP
php 全局变量范围分析
Aug 07 PHP
php异常处理使用示例
Feb 25 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
PHP书写格式详解(必看)
May 23 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 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
什么是短波收听SWL
2021/03/01 无线电
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
PHP获取网站域名和地址的代码
2008/08/17 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
vue实现弹幕功能
2019/10/25 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
基于Python log 的正确打开方式
2018/04/28 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
教师党员公开承诺书
2014/03/25 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
关于分班的感言
2015/08/04 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers