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 ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
PHP解析url并得到url参数方法总结
Oct 11 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
PHP chr()函数讲解
Feb 11 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 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中数组的分组排序实例
2014/06/01 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
npm的lock机制解析
2019/06/20 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python中去空格函数的用法
2014/08/21 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
使用python实现链表操作
2018/01/26 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
python 正确保留多位小数的实例
2018/07/16 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
python os.rename实例用法详解
2020/12/06 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
大学生学习自我评价
2014/01/13 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技