验证码
index.php<?php
session_start();
// 丢弃输出缓冲区的内容 **
ob_clean();
header ('Content-Type: image/png');
// 1 创建画布
$image=imagecreatetruecolor(100, 30);
// 2 画一个矩形并填充背景颜色为白色
$color=imagecolorallocate($image, 255, 255, 255);
imagefill($image, 20, 20, $color);
// for($i=0;$i<4;$i++){
// $font=6;
// $x=rand(5,10)+$i*100/4;
// $y=rand(8, 15);
// $string=rand(0, 9);
// $color=imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
// imagestring($image, $font, $x, $y, $string, $color);
// }
$code='';
for($i=0;$i<4;$i++){
$fontSize=8;
$x=rand(5,10)+$i*100/4;
$y=rand(5, 15);
$data='abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHJKLMNPQRTUVWXYZ';
$string=substr($data,rand(0, strlen($data)),1);
$code.=$string;
// 3.2 加载自定义字体
$font_file = '1.ttf';
$color=imagecolorallocate($image,rand(0,120), rand(0,120), rand(0,120));
// 把文字填充到画布
//imagefttext($image, 10, mt_rand(-5, 10), $x, $y, $color, $font_file, $string);
imagestring($image, $fontSize, $x, $y, $string, $color);
}
$_SESSION['code']=$code;//存储在session里
for($i=0;$i<200;$i++){
$pointColor=imagecolorallocate($image, rand(100, 255), mt_rand(100, 255), rand(100, 255));
imagesetpixel($image, mt_rand(0, 100), rand(0, 30), $pointColor);
}
for($i=0;$i<2;$i++){
$linePoint=imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255));
imageline($image, rand(10, 50), rand(10, 20), rand(80,90), rand(15, 25), $linePoint);
}
imagepng($image);
imagedestroy($image);
?>
form.php
<?php
if(isset($_REQUEST['code'])){
session_start();
if($_REQUEST['code']==$_SESSION['code']){
echo "<font color='red'>输入正确</font>";
}else{
echo "<font color='red'>输入错误</font>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta chartset="UTF-8" />
<style type="text/css" rel="stylesheet">
a{
text-decoration:none;
font-size:30px;
color:blue;
}
a:hover{
text-decoration:underline;
}
</style>
</head>
<body>
<form action="form.php" method="get">
验证码:<img id="img" src="index.php?" onclick="changeCode()"/>
<a href="javascript:void(0)" onclick="changeCode()">看不清?</a> <br />
请输入验证码: <input name="code" /><br />
<input type="submit" value="提交" />
</form>
</body>
<script type="text/javascript">
function changeCode(){
var img=document.getElementById('img');
//img.src='index.php?r='+Math.random();
img.setAttribute('src','index.php?r='+Math.random());
}
</script>
</html>
页:
[1]