www.adminn.cn
站长正能量分享网!

php编程每天必学之验证码

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

php编程每天必学之验证码,php验证码图片生成以及页面实现验证码功能进行了详细的阐述,感兴趣的小伙伴们可以参考一下。

本文为大家分享了php图片验证码的实现代码,分享给大家供大家参考,具体内容如下

1.验证码图片生成

captcha.php

  1. //1.生成100*30大小的图片,默认为黑色 
  2. $image = imagecreatetruecolor(100,30); 
  3. //创建白色底图 
  4. $bgcolor = imagecolorallocate($image,255,255,255); 
  5. //用白色填充黑色 
  6. imagefill ($image,0,0,$bgcolor); 
  7.  
  8. //2.随机显示数字或字母 
  9. $captch_code = ""
  10. for($i=0;$i<4;$i++){ 
  11.  $fontsize=6; 
  12.  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); 
  13.  $data = "abcdefghijkmnpqrstuvwxy3456789"
  14.  $fontcontent =substr($data,rand(0,strlen($data)),1); 
  15.  $captch_code .=$fontcontent
  16.  $x = ($i*100/4)+rand(5,10); 
  17.  $y = rand(5,10); 
  18.  
  19.  imagestring($image$fontsize$x$y$fontcontent,$fontcolor); 
  20. $_SESSION["authcode"] = $captch_code
  21.  
  22. //3.增加干扰 
  23. //干扰点 
  24. for($i=0;$i<100;$i++){ 
  25.  $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); 
  26.  imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor); 
  27.  
  28. //干扰线 
  29. for($i=0;$i<2;$i++){ 
  30.  $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220)); 
  31.  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor); 
  32.  
  33. header("content-type:image/png"); 
  34. imagepng($image); 

2.页面实现验证码功能

form.php

  1. <?php 
  2. if(isset($_POST["authcode"])){ 
  3.  session_start(); 
  4.  if(strtolower($_POST["authcode"])==$_SESSION["authcode"]){ 
  5.   echo "OK"
  6.  }else
  7.   echo "NO"
  8.  } 
  9.  
  10. ?> 
  11. <!doctype html> 
  12. <html lang="en"
  13. <head> 
  14.  <meta charset="UTF-8"
  15.  <title>Document</title> 
  16. </head> 
  17. <body> 
  18. <form action="form.php" method="post"
  19.  <p>验证码图片: <img id="img" border="1" src="captcha.php?r=<?php echo rand()?>" alt=""
  20.  <a href="javascript:void(0)" onclick="document.getElementById('img').src='captcha.php?r'+Math.random() ">换一个</a> 
  21.  </p> 
  22.  <p><input type="text" name="authcode"></p> 
  23.  <p><input type="submit" value="提交"></p> 
  24.  
  25. </form> 
  26. </body> 
  27. </html> 

以上就是本文的全部内容,帮助大家轻松实现php图片验证码。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php编程每天必学之验证码》
文章链接:https://www.adminn.cn/news/34545.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏