Heim >Backend-Entwicklung >PHP-Tutorial > PHP数目字验证码的例子

PHP数目字验证码的例子

WBOY
WBOYOriginal
2016-06-13 12:30:33820Durchsuche

PHP数字验证码的例子

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

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

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

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


1,数字验证码
[php]?view plaincopy在CODE上查看代码片派生到我的代码片
?
  1. ??
  2. /*?
  3. *Filename:authpage.php?
  4. */??
  5. session_start();??
  6. //srand((double)microtime()*1000000);??
  7. $authnum=$_SESSION['authnum'];??
  8. //验证用户输入是否和验证码一致??
  9. if(isset($_POST['authinput']))??
  10. {??
  11. if(strcmp($_POST['authinput'],$_SESSION['authnum'])==0)??
  12. echo"验证成功!";??
  13. else??
  14. echo"验证失败!";??
  15. }??
  16. ??
  17. ??
  18. //生成新的四位整数验证码??
  19. ??
  20. ??
  21. //while(($authnum=rand()%10000)??
  22. ?>??
  23. ??
  24. ??
  25. 请输入验证码:"width:80px">
    ??
  26. "验证"value="提交验证码">??
  27. echo$authnum;?>>??
  28.  PHP数目字验证码的例子 echo$authnum;?>>??
  29. ??
  30. ??

2,authimg.php
[php]?view plaincopy在CODE上查看代码片派生到我的代码片
?
  1. //生成验证码图片??
  2. Header("Content-type:image/PNG");??
  3. srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用??
  4. ??
  5. session_start();//将随机数存入session中??
  6. $_SESSION['authnum']="";??
  7. $im=imagecreate(62,20);//制定图片背景大小??
  8. ??
  9. $black=ImageColorAllocate($im,0,0,0);//设定三种颜色??
  10. $white=ImageColorAllocate($im,255,255,255);??
  11. $gray=ImageColorAllocate($im,200,200,200);??
  12. ??
  13. imagefill($im,0,0,$gray);//采用区域填充法,设定(0,0)??
  14. ??
  15. while(($authnum=rand()%100000)
  16. //将四位整数验证码绘入图片??
  17. //?www.jbxue.com??
  18. $_SESSION['authnum']=$authnum;??
  19. imagestring($im,5,10,3,$authnum,$black);??
  20. //用col颜色将字符串s画到image所代表的图像的x,y座标处(图像的左上角为0,0)。??
  21. //如果font是1,2,3,4或5,则使用内置字体??
  22. ??
  23. for($i=0;$i$i++)//加入干扰象素??
  24. {??
  25. $randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));??
  26. imagesetpixel($im,rand()%70,rand()%30,$randcolor);??
  27. }??
  28. ImagePNG($im);??
  29. ImageDestroy($im);??
  30. ?> ?
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn