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 Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
通俗易懂的php防注入代码
Apr 07 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php 基础函数
Feb 10 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 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模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python获取list下标及其值的简单方法
2016/09/12 Python
python 对象和json互相转换方法
2018/03/22 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python3 集合set入门基础
2020/02/10 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
我在伊朗长大观后感
2015/06/16 职场文书
会计主管竞聘书
2015/09/15 职场文书
培训心得体会怎么写
2016/01/25 职场文书
PyTorch device与cuda.device用法
2022/04/03 Python