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 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
Destoon实现多表查询示例
Aug 21 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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中的curl使用入门教程和常见用法实例
2014/04/10 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
php实现的简单日志写入函数
2015/03/31 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
javascript 播放器 控制
2007/01/22 Javascript
javascript动画浅析
2012/08/30 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
Python psutil模块简单使用实例
2015/04/28 Python
python类的继承实例详解
2017/03/30 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
python科学计算之narray对象用法
2019/11/25 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
学校三八妇女节活动情况总结
2014/03/09 职场文书
学习型党组织心得体会
2014/09/12 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
学生病假条怎么写
2015/08/17 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL