PHP GD 生成图片验证码+session获取存储验证码

php中文网
发布: 2016-06-13 12:01:32
原创
1094人浏览过

PHP GD 生成图片验证码+session获取储存验证码

    下面分享一个php制作的图片验证码案例:案例如下图:


   运用PHP GD详细请看:http://www.php.net/manual/zh/book.image.php

   后台图片代码如下:

 

<?phpsession_start();$image = imagecreatetruecolor(100,30);//创建一个宽100,高度30的图片$bgcolor=imagecolorallocate($image,255,255,255);//图片背景是白色imagefill($image,0,0,$bgcolor);//图片填充白色//随机数/**for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $fontcontent=rand(0,9);  $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}**///随机数据$captch_code='';for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $data='asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800';  $fontcontent=substr($data,rand(0,strlen($data)),1);  $captch_code.=$fontcontent;    $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION['authcode']=$captch_code;//随机点for($i=0;$i<200;$i++){  $pointcolor=imagecolorallocate($image,rand(50,120),rand(50,120),rand(50,120));  imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);}//随机线for($i=0;$i<3;$i++){  $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header("content-type:image/png");imagepng($image);imagedestory($image);?>
登录后复制

立即学习PHP免费学习笔记(深入)”;

前台代码如下:

<?php   if(isset($_REQUEST['autocode'])){      session_start();	  if(strtolower($_POST['autocode']) == $_SESSION['authcode']){	   echo '正确';	  }else{	  echo'错误';	  }      exit();   }?><!DOCTYPE html><html>  <head>   <meta chartset="utf-8">  </head>  <body>     <form method="post"  action="form.php">	   <p>验证码图片:<img  border="1" src="captcha.php?r="<?php echo rand();? alt="PHP GD 生成图片验证码+session获取存储验证码" > width="100"    style="max-width:90%"  /></p>	   	   <p>输入内容:<input type="text" name="autocode" value="" /></p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/xiazai/code/9624">
                            <img src="https://img.php.cn/upload/webcode/000/000/009/175948740458675.jpg" alt="鼎峰企业智能建站系统ASP版0.3.6">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/xiazai/code/9624">鼎峰企业智能建站系统ASP版0.3.6</a>
                            <p>鼎峰企业建站系统(ASP) V 0.3.6主要更新说明:1.留言可修改时间,可修改留言内容,可获取IP2.添加新闻,产品时,时间可更改3.管理员密码更改为密码域4.去掉图片新闻,图片新闻改成自定义上传5.广告管理:头部广告管理6.首页公司简介7.新闻显示页增加&ldquo;上一篇,下一篇&rdquo;功能8.留言增加验证码9.QQ咨询面板可自定义名称10.修补前台漏洞11.修复图片</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="鼎峰企业智能建站系统ASP版0.3.6">
                                <span>0</span>
                            </div>
                        </div>
                        <a href="/xiazai/code/9624" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="鼎峰企业智能建站系统ASP版0.3.6">
                        </a>
                    </div>
                           <p><input type="submit"  value="提交" style="padding:6px 20px;"/></p>         </form>  </body></html>
登录后复制


添加点击执行修改如下即可:

  <p>验证码图片:<img  border="1" id="capthcha_img" onclick="this.src='captcha.php?r='+Math.random()" src="captcha.php?r="<?php echo rand();? alt="PHP GD 生成图片验证码+session获取存储验证码" > width="100"    style="max-width:90%"  />&#160;<a href="javascript:void(0)" onclick="document.getElementById('capthcha_img').src='captcha.php?r='+Math.random()">换一个</a></p>
登录后复制


本案例原创,转载请注明!

立即学习PHP免费学习笔记(深入)”;

  

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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