hangcn
2018-04-28 16:22
源代码在哪下载?
<?php
if(isset($_REQUEST['authcode'])){
session_start();
if(strtolower($_REQUEST['authcode'])==$_SESSION['authcode']){
echo'<font color="#0000CC">输入正确</font>';
}else{
echo $_SESSION['authcode'];
echo'<font color="#CC0000">输入错误</b></font>';
}
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>确认验证码</title>
</head>
<body>
<form method="post" action="./form.php">
<p>
验证图片:
<img id="captcha_img" border="1" src="./captcha.php?r=<?php echo rand();?>" width="100px" height="44px"/>
<a href="javascript:viod(0)" onclick="document.getElementById('captcha_img').src='./captcha.php?r='+Math.random()">换一个</a>
</p>
<p>请输入图片中的内容:<input type="text" name="authcode" value=""></p>
<p><input type="submit" value="提交" style="padding: 6px 20px;"></p>
</form>
</body>
</html>
<?php
session_start();
$image=imagecreatetruecolor(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,170),rand(0,170),rand(0,170));
$fontcontent=rand(0,9);
$x=rand($i*170/4)+rand(17,55);
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);//水平地画一行字符串
}*/
$captch_code="";
for($i=0;$i<4;$i++){
$fontsize=7;
$fontcolor=imagecolorallocate($image,rand(0,170),rand(0,170),rand(0,170));
$data='qwertyuipkjhgfdsaxcvbnm3456789';//可以去掉l\1\2\z\0\o
$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($j=0;$j<200;$j++){
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//画一个单一像素
}
for($i=0;$i<3;$i++){
$linecolor=imagecolorallocate($image,rand(800,200),rand(800,200),rand(800,200));
imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
header('content-type:image/png');
imagepng($image);
//end
imagedestroy($image);
?>
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,199),rand(1,59),$pointcolor);//画一个单一像素
不知道
PHP实现验证码制作
37929 学习 · 336 问题
相似问题