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
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
php单一接口的实现方法
Jun 20 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
实现PHP搜索加分页
Oct 12 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
JavaScript中创建对象和继承示例解读
2014/02/12 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python中的__slots__使用示例
2015/02/26 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
python Django的web开发实例(入门)
2019/07/31 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
露营世界:Camping World
2017/02/02 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
工厂仓管员岗位职责范本
2014/07/17 职场文书
乐山大佛导游词
2015/02/02 职场文书
红色故事汇观后感
2015/06/18 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
创业计划书之农家乐
2019/10/09 职场文书
高一作文之乐趣
2019/11/21 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript