php图像验证码生成代码

本文实例为大家分享了php封装的一个生成图像验证码,供大家参考,具体内容如下

一、代码

index..php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js+GD2函数制作无刷新验证码</title>
<link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" >
</head>
<body>
<div style="width: 750px; border: 1px solid #0D6C8C; text-align: left">
 <div style="width:100%; height:25px; border:1px #FFFFFF solid; background:url(img/t-background.gif); color:#FFFFFF; padding-top:5px; padding-left:20px; text-align:left">填写用户注册信息</div>
 <div style="width:400px; text-align:left; padding-left:50px; padding-top:15px; float:left">
<script language="javascript">
  function chkinput(form)
  {
    if (form.username.value==''){
      alert('请输入用户名!');
      form.username.focus();
      return false;
    } 

    if (form.password.value==''){
      alert('请输入注册密码!');
      form.password.focus();
      return false;
    }   

    if (form.defPassword.value==''){
      alert('请输入确认密码!');
      form.defPassword.focus();
      return false;
    } 

    if (form.password.value.length<6){
      alert('密码长度应大于6位!');
      form.password.focus();
      return false;
    } 

    if (form.password.value!=form.defPassword.value){
      alert('密码与确认密码不同!');
      form.password.focus();
      return false;
    } 

    if (form . email . value == "") {
      alert("请输入E-mail地址!");
      form . email . select();
      return (false);
    }
    var i= form . email . value . indexOf("@");
    if (i < 0) {
      alert("请输入正确的E-mail地址!");
      form . email . select();
      return (false);
    }
    if (form . tel . value == "") {
      alert('请输入电话号码!');
      form . tel . focus();
      return (false);
    }
    var t=/^([0-9]|[\-])+$/g;
    if (! t . test(form . tel . value) || form . tel . value . length > 18 || form . tel . value . length < 7) {
      alert('电话格式输入有误!');
      form . tel . focus();
      return (false);
    } 

    if (form.address.value==''){
      alert('请输入联系地址!');
      form.address.focus();
      return false;
    } 

    if (form.validatorCode.value==''){
      alert('请输入验证码!');
      form.validatorCode.focus();
      return false;
    } 

    if (form.validatorCode.value!=form.defValidatorCode.value) {
      alert('验证码输入有误!');
      form.validatorCode.focus();
      return false;
    } 

    return true; 

  }
</script> 

<form name="form1" method="post" action="success.php" onSubmit="return chkinput(this)">
用户名:  <input type="text" name="username" size="30" class="input" /><br><br>
密  码:  <input type="password" name="password" size="30" class="input" /><br><br>
确认密码:<input type="password" name="defPassword" size="30" class="input"><br><br>
E-mail:  <input type="text" name="email" size="30" class="input" /><br><br>
电话:    <input type="text" name="tel" size="30" class="input" /><br><br>
联系地址:<input type="text" name="address" size="30" class="input" /><br><br>
验证码:  <input type="text" name="validatorCode" size="10" class="input" />
<input type="hidden" name="defValidatorCode" value="" /> 

  <script language="javascript">
   var num1=Math.round(Math.random()*10000000);
   var num=num1.toString().substr(0,4);
   document.write("<img name=codeimg src='TestCode.php?code="+num+"'>");
   form1.defValidatorCode.value=num;
   function reCode(){
      var num1=Math.round(Math.random()*10000000);
      var num=num1.toString().substr(0,4);
      document.codeimg.src="TestCode.php?code="+num;
      form1.defValidatorCode.value=num;
    }
  </script>
  <a href="javascript:reCode()" rel="external nofollow" class="a1">看不清</a>
  <br><br>
  <input type="submit" value="提交">  <input type="reset" value=" 重写">
</form>
 </div>
 <div style="width:300px; float:right; padding-top:20px">
   <div style="width:285px; height:250px; border:1px dotted #999999; background:#E9F2F7; OVERFLOW-X: auto; OVERFLOW-Y:auto; text-align:left; line-height:20px">
    用户在使用***网站网络服务过程中,必须遵循以下原则:<br />
    1、遵守中国有关的法律和法规。不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益。不得利用***网站网络服务系统进行任何不利于***网站的行为。<br />
   2、遵守所有与网络服务有关的网络协议、规定和程序。<br />
   3、不干扰或混乱网络服务。<br />
   4、不得为任何非法目的而使用本网络服务系统。<br />
   5、不得传播任何虚假的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、庸俗的或其他任何非法的信息资料。<br />
   6、不得侵犯其他任何第三方的专利权、著作权、商标权、名誉权或其他任何合法权益。<br />
   7、不得在论坛BBS或留言簿发表任何与政治相关的信息。 <br />
   8、遵守所有使用网站服务的网络协议、规定、程序和惯例。<br />
   9、如发现任何非法使用用户帐号,应立即通告***网站。<br />
  10、如用户在使用网络服务时违反上述任何规定,***网站有权要求用户改正或直接取消该帐号并停止为该用户提供相关的网络服务。<br />
   </div>
 </div> 

</div>
<?php
  require_once 'footer.php';
?>
</body>
</html> 

TestCode.php

<?php
  class TestCode{//创建类名为TestCode
   private $width;
   private $height;
   private $str;
   private $im;
   private $strColor;
   function __construct($width,$height){
    $this->width=$width;
    $this->height=$height;
    $this->str=$_GET['code'];
    $this->createImage();
   }
   function createImage(){
    $this->im=imagecreate($this->width,$this->height);//创建画布
    imagecolorallocate($this->im,200,200,200);//为画布添加颜色
    for($i=0;$i<4;$i++){//循环输出四个数字
     $this->strColor=imagecolorallocate($this->im,rand(0,100),rand(0,100),rand(0,100));
     imagestring($this->im,rand(3,5),$this->width/4*$i+rand(5,10),rand(2,5),$this->str[$i],$this->strColor);
    }
    for($i=0;$i<200;$i++){//循环输出200个像素点
     $this->strColor=imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255));
     imagesetpixel($this->im,rand(0,$this->width),rand(0,$this->height),$this->strColor);
    }
   }
   function show(){//
    header('content-type:image/png');//定义输出为图像类型
    imagepng($this->im);//生成图像
    imagedestroy($this->im);//销毁图像释放内存
   }
  }
  $image=new TestCode(80,20);//将类实例化为对象
  $image->show();//调用函数
?> 

二、运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • PHP验证码类代码( 最新修改,完全定制化! )

    Authnum.class.php 下载 复制代码 代码如下: <?php session_start(); class Authnum { //图片对象.宽度.高度.验证码长度 private $im; private $im_width; private $im_height; private $len; //随机字符串.y轴坐标值.随机颜色 private $randnum; private $y; private $randcolor; //背景色的红绿蓝,默认是浅灰色 public $

  • php图片验证码代码

    复制代码 代码如下: <?php     //文件头...     header("Content-type: image/png");     //创建真彩色白纸     $im = @imagecreatetruecolor(50, 20) or die("建立图像失败");     //获取背景颜色     $background_color = imagecolorallocate($im, 255, 255, 255);     //填充背景颜色(这

  • 一个漂亮的php验证码类(分享)

    直接上代码: 复制代码 代码如下: //验证码类class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子 private $code;//验证码 private $codelen = 4;//验证码长度 private $width = 130;//宽度 private $height = 50;//高度 private $img;//图形资源句柄 pri

  • 完美解决thinkphp验证码出错无法显示的方法

    本文实例讲述了完美解决thinkphp验证码出错无法显示的方法.分享给大家供大家参考.具体分析如下: 今天做到验证码这一块,想到tp自带验证图片,大喜,但鼓捣半天不出来,一直是个小 X的样子. 官方提示如下: 如果无法显示验证码,请检查: ① PHP是否已经安装GD库支持: ② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出): ③ Image类库是否正确导入: ④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录: 但是测试半天,不行!网上找来一个能用的方法,放到一个文件里执行

  • PHP生成图片验证码、点击切换实例

    这里来看下效果: 现在让我们来看下 PHP 代码 复制代码 代码如下: <?php   session_start(); function random($len) {     $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";     mt_srand();     $strs = "";     for ($i = 0; $i < $len; $i++) {         $strs .= $srcstr[mt

  • 一个实用的php验证码类

    万能php验证码类,供大家参考,具体内容如下 code.php是验证码类,类的名称最好和文件名的名称一样,这样有利于我们的查看. code.php <?php header('Content-type:text/html;charset=utf8'); class Code{ // 验证码个数$number protected $number; // 验证码类型$codeType protected $codeType; // 验证码图像宽度$width protected $width; //

  • php发送短信验证码完成注册功能

    短信验证码注册,很简单,用的是  云通讯的短信系统(收费的,不过有测试的api给我们做测试).好了,不多说,进入正题. 1.收到到云通讯短信系统注册账号,然后下载他们的封装好的短信api接口代码,解压,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,将其拉到根目录文件夹里. 2.打开SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千万别包含错路径了,将云通讯给的测试主账号,主账号Token

  • PHP使用CURL实现对带有验证码的网站进行模拟登录的方法

    网上的很多模拟登录程序,大都是通过服务程序apache之类的运行,获取到验证码之后显示在网页上,然后填上再POST出去,这样虽然看起来很友好,但是既然模拟登录,登录后所干的事情就不一定是短时间完成的,所以这就要受到php最大执行时间的限制,而且有些操作还有可能权限不足. 本文提供了一个程序实例,思路就是获取到验证码之后把验证码存储为一个图片,然后程序休眠20秒,在20秒之后由用户手动查看图片,并把验证码填写到code.txt文件中,20秒休眠完成后,程序会读code.txt的验证码,这样再带着验

  • PHP写的简单数字验证码实例

    用PHP写的随机生成的5位数字验证码 $yzm = ""; for($i=0;$i<5;$i++) { $a = rand(0,9); $yzm.= $a; } echo $yzm; 以上这篇PHP写的简单数字验证码实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • php实现网页端验证码功能

    我们在实际开发中,会用到短信验证码以及网页验证码,相对来说网页验证码的成本比较低,安全系数也还可以,接下来我们就来做一个网页端的验证码,直接上代码: 首先来说一下文件目录结构: |----------phpyanzheng  项目文件夹 |----fonttype 文件夹放字体文件,字体文件一般以 .ttf和.otf结尾 |----1.php  里面放php语言代码 |----index.html  里面放网页布局 1.php <?php header('content-type:image/j

随机推荐