php验证码

checks.php代码:


<?php
session_start();
    //生成验证码图片
    Header("Content-type: image/PNG");
    $im = imagecreate(44,18); // 画一张指定宽高的图片
    $back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色
    imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中
    $vcodes = "";
    srand((double)microtime()*1000000);
    //生成4位数字
    for($i=0;$i<4;$i++){
    $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
    $authnum=rand(1,9);
    $vcodes.=$authnum;
    imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
    }
    $_SESSION['VCODE'] = $vcodes;
    for($i=0;$i<100;$i++) //加入干扰象素
    {
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数
    }
    ImagePNG($im);
    ImageDestroy($im);
?>


登陆页面验证码代码块

<tr>
    <td height="30" align="center" class="ziti">验证码:</td>
    <td width="56"><input type="text" name="checks" id="checks" size="8" height="20"/></td>
    <td width="178"><img src="checks.php" style="cursor:pointer" onClick=""http://blog.51cto.com/viewpic.php?refimg=" + this.src="http://blog.51cto.com/viewpic.php?refimg=" + this.src+'?'+Math.random();"/></td>
  </tr>
style="cursor:pointer" onClick=""http://blog.51cto.com/viewpic.php?refimg=" + this.src="http://blog.51cto.com/viewpic.php?refimg=" + this.src+'?'+Math.random()"

这两个属性实现单击验证码刷新,不需要刷新整个页面!









你可能感兴趣的:(PHP,验证码)