Home  >  Article  >  Backend Development  >  PHP 数目字验证码

PHP 数目字验证码

WBOY
WBOYOriginal
2016-06-13 12:27:46772browse

PHP 数字验证码

在php中实现验证码还是很方便的,关键点在于掌握php gd库与session的用法。

纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随机数的方法来完成。

PHP验证码,可以分为很多种,包括 php 图片验证码,php 随机验证码,以及php 中文验证码等,根据不同的应用场合来使用不同的验证码。

这里分享一个php数字验证码,供大家参考。

1,数字验证码

/* *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;?>>  <img src=authimg.php?authnum=<?echo$authnum;? alt="PHP 数目字验证码" >>  </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);  //将四位整数验证码绘入图片  // www.jbxue.com  $_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);  ?> 

  

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:示例:Next article:PHP的学习-可变函数