Home >php教程 >PHP源码 >一个简单的php验证码程序

一个简单的php验证码程序

WBOY
WBOYOriginal
2016-06-08 17:24:441517browse

本文章介绍一下关于在php中验证码程序的生成代码,调用方法及以如果验证用户输入的验证码程序没有问题。

<script>ec(2);</script>

create_code.php代码

 代码如下 复制代码
session_start();
//生成验证码图片
header("Content-type: image/png");
// 全数字
$str = "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g";      //要显示的字符,可自己进行增删
$list = explode(",", $str);
$cmax = count($list) - 1;
$verifyCode = '';
for ( $i=0; $i       $randnum = mt_rand(0, $cmax);
      $verifyCode .= $list[$randnum];           //取出字符,组合成为我们要的验证码字符
}
$_SESSION['code'] = $verifyCode;        //将字符放入SESSION中
 
$im = imagecreate(58,28);    //生成图片
$black = imagecolorallocate($im, 0,0,0);     //此条及以下三条为设置的颜色
$white = imagecolorallocate($im, 255,255,255);
$gray = imagecolorallocate($im, 200,200,200);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$white);     //给图片填充颜色
 
//将验证码绘入图片
imagestring($im, 5, 10, 8, $verifyCode, $black);    //将验证码写入到图片中
 
for($i=0;$i {
     imagesetpixel($im, rand()p , rand()0 , $black);    //加入点状干扰素
     imagesetpixel($im, rand()p , rand()0 , $red);
     imagesetpixel($im, rand()p , rand()0 , $gray);
     //imagearc($im, rand()p, rand()p, 20, 20, 75, 170, $black);    //加入弧线状干扰素
     //imageline($im, rand()p, rand()p, rand()p, rand()p, $red);    //加入线条状干扰素
}
imagepng($im);
imagedestroy($im);
?>

html代码

demo.html

 代码如下 复制代码




   
   




看不清楚,换一张



<script><br /> function create_code(){<br /> document.getElementByIdx_x('code').src = 'create_code.php?'+Math.random()*10000;<br /> }<br /> </script>

//处理,判断是否输入正确
act.php

 代码如下 复制代码

session_start();

if($_POST['code'] == $_SESSION['code']){
    echo 'ok';
}else{
    echo 'no';
}
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn