<?php
/******************************************
认证码图片生成文件
programmed by surfchen,http://yubeinet.com
以下define部分可自行修改
******************************************/
define("con_number",5);//产生的字符数目
define("con_image_width",100);//图宽
define("con_image_height",20);//图高
define("con_image_string","0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");//所要建立的验证字符串包含字符
header("content-type:image/png");//输出图象头信息
session_start();
if ($_session['num'])
{
unset($_session['num']);//注销上一次的图片验证码
}
$im=imagecreate(con_image_width,con_image_height);//建立图象
$black=imagecolorallocate($im,0,0,0);//建立黑色标志符
$white=imagecolorallocate($im,255,255,255);//建立白色标志符
$gray=imagecolorallocate($im,200,200,200);//建立灰色标志符
imagefill($im,86,30,$black);//填充图象
for($i=0;$i<500;$i++)
{
$randcolor=imagecolorallocate($im,rand(100,255),rand(100,255),rand(100,255));//建立一个随机图象颜色标志符
imagesetpixel($im, rand(0,con_image_width),rand(0,con_image_height),$randcolor);//用上一行建立的标志符描点,点的坐标为随机
}
for($i=0;$i<6;$i++)
{
imageline($im,rand(0,con_image_width),rand(0,con_image_height),rand(0,con_image_width),rand(0,con_image_height),$gray);//以随机坐标画线
}
for($i=0;$i<=con_number;$i++)
{
$authnum.=substr(con_image_string,rand(0,61),1);//建立验证字符串
}
$_session['num']=$authnum;//把字符串写入session以待验证
imagestring($im, 5,10, 0,$authnum,$white);//把字符串写入图片
imagepng($im);//输出图片
imagedestroy($im);//注销图片资源
exit();//终止脚本
mssql_init
?>
<?
ob_start()
?>
<!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" lang="zh-cn">
<head>
<title>实现验证图功能[gd+session]</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="zh-cn" />
<meta name="generator" content="editplus" />
<meta name="author" content="surfchen" />
<meta name="keywords" content="yubeinet.com,php,mysql,javacript,xhtml,xml,wml,svg" />
<meta name="description" content="使用gd和session实现php里的验证图" />
<link rel="stylesheet" href="index.css" type="text/css" />
</head>
<body>
<?php
session_start();
if (!empty($_session['num']) and !empty($_session['num']) and $_session['num']==$_post['number']){
echo '成功';
}elseif (!empty($_post['number'])){
echo "失败";
}
?>
<img src="image.php" alt="验证图" />
<form method="post" action="<?=$_server['php_self']?>">
<input type="text" name="number" />
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
新闻热点
疑难解答