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数字格式化
Dec 06 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
PHP生成器简单实例
May 13 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
php双向队列实例讲解
Nov 17 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
星际实力自我测试
2020/03/04 星际争霸
编写自己的php扩展函数
2006/10/09 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
Python批量修改文件后缀的方法
2014/01/26 Python
Python的re模块正则表达式操作
2016/05/25 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
秋季运动会广播稿大全
2014/02/17 职场文书
环境整治工作方案
2014/05/18 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书