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 单引号与双引号的区别
Nov 24 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
php获取服务器信息的实现代码
Feb 04 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
thinkPHP自动验证机制详解
Dec 05 PHP
PHP中递归的实现实例详解
Nov 14 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
php对象工厂类完整示例
Aug 09 PHP
PDO::setAttribute讲解
Jan 29 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的历史和优缺点
2006/10/09 PHP
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
如何使用puppet替换文件中的string
2018/12/06 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
学习python 之编写简单乘法运算题
2016/02/27 Python
python实现控制台打印的方法
2019/01/12 Python
django 控制页面跳转的例子
2019/08/06 Python
tensorflow自定义激活函数实例
2020/02/04 Python
python如何修改文件时间属性
2021/02/05 Python
婚礼主持结束词
2014/03/13 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android