搜索
博主信息
博文 39
粉丝 1
评论 0
访问量 72321
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP添加验证码以及使用
Dai的博客
原创
1338人浏览过

现在很多页面在使用表单提交时,都会使用到验证码的使用、如何制做一个验证码呢?这里有一个用PHP的方法 以及代码

1、首先在php.ini 配置文件里面把GD库打开  // 在php.ini里面找到 extension=php_gd2.dll 把前面的分号删去。

2、代码:

<?php 
session_start();
  //用php的header方法表名输出内容的格式为png
 // 输出图片前,必须提前输出header信息
 //imagecreatetruecolor默认输出是黑色的背景
header('content-type:image/png');
  //1.通过imagecreatetruecolor 创建一个验证码所需要的底图 
   $image = imagecreatetruecolor(100,30);
   //2.用imagecolorallocate 填充背景
   $bgcolor = imagecolorallocate($image,000,255,255);
   //3、填充到我们的底图当中
   imagefill($image,0,0,$bgcolor);
   //定义一个空字符串 来用存储验证码
   $captchCode = '';
   //for循环来输出验证码位数
   for ($i=0; $i < 4; $i++) { 
      //字体大小为6
      $fontSize = 6;
      //设置背景字体 
      $fontColor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
      $data = 'abcdefghijklmnopqrstuvwxyz0123456789';
      //随机从data 中取出一个字符  
      $fontContent = substr($data,rand(0,strlen($data)),1);
      //将取出的一位字符存储到captchCode当中;
      $captchCode .= $fontContent;
      $x = ($i * 100/4)+rand(5,10);
      $y = rand(5,10);
     imagestring($image,$fontSize,$x,$y,$fontContent,$fontColor);
   }
   //将生成好的验证码保存进session
   $_SESSION['code'] = $captchCode;
   //循环出200个点
   for($i=0;$i<200;$i++){
      //创建颜色 
       $pointColor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
       imagesetpixel($image,rand(1,99),rand(1,29),$pointColor);
    }
    //创建8条横线
    for($i=0;$i<3;$i++){
       $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220));
       imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
    }
       //返回图片
   imagepng($image);
   //销毁
   imagedestroy($image); 
?>

3、在表单input 添加个点击事件  onclick="this.src = this.src+'?'+ Math.random(0,999)  即点击后刷新验证码

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学