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数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
PHP __autoload()方法真的影响性能吗?
Mar 30 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
解决php扩展安装不生效问题
Oct 25 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP实现页面静态化深入讲解
Mar 04 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递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
js实现弹窗效果
2020/08/09 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
python中的global关键字的使用方法
2019/08/20 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
求职自荐信范文格式
2013/11/29 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
单位在职证明范本
2014/01/09 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
js中Object.create实例用法详解
2021/10/05 Javascript
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL