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 08 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
PHP中实现crontab代码分享
Mar 26 PHP
学习php设计模式 php实现抽象工厂模式
Dec 07 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
基于laravel Request的所有方法详解
Sep 29 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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 编程安全性小结
2010/01/08 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
js制作可以延时消失的菜单
2017/01/13 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
关于Python作用域自学总结
2019/06/10 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Python谱减法语音降噪实例
2019/12/18 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
校园十佳歌手策划书
2014/01/22 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
《梅兰芳学艺》教学反思
2014/02/24 职场文书
2014年迎新年联欢会活动策划方案
2014/02/26 职场文书
校园绿化美化方案
2014/06/08 职场文书
科技节口号
2014/06/19 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang