0:效果图
1:index.php用来生成验证码图片
1 <?php 2 session_start(); 3 header ('Content-Type: image/png'); 4 $image=imagecreatetruecolor(100, 30); 5 //背景颜色为白色 6 $color=imagecolorallocate($image, 255, 255, 255); 7 imagefill($image, 20, 20, $color); 8 // for($i=0;$i<4;$i++){ 9 // $font=6;10 // $x=rand(5,10)+$i*100/4;11 // $y=rand(8, 15);12 // $string=rand(0, 9);13 // $color=imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));14 // imagestring($image, $font, $x, $y, $string, $color);15 // }16 $code='';17 for($i=0;$i<4;$i++){18 $fontSize=8;19 $x=rand(5,10)+$i*100/4;20 $y=rand(5, 15);21 $data='abcdefghijklmnopqrstuvwxyz123456789';22 $string=substr($data,rand(0, strlen($data)),1);23 $code.=$string;24 $color=imagecolorallocate($image,rand(0,120), rand(0,120), rand(0,120));25 imagestring($image, $fontSize, $x, $y, $string, $color);26 }27 $_SESSION['code']=$code;//存储在session里28 for($i=0;$i<200;$i++){29 $pointColor=imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255));30 imagesetpixel($image, rand(0, 100), rand(0, 30), $pointColor);31 }32 for($i=0;$i<2;$i++){33 $linePoint=imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255));34 imageline($image, rand(10, 50), rand(10, 20), rand(80,90), rand(15, 25), $linePoint);35 }36 imagepng($image);37 imagedestroy($image);38 ?>
2:form.php前端页面.用于输入验证码并验证
1 <?php 2 if(isset($_REQUEST['code'])){ 3 session_start(); 4 if($_REQUEST['code']==$_SESSION['code']){ 5 echo "<font color='red'>输入正确</font>"; 6 }else{ 7 echo "<font color='red'>输入错误</font>"; 8 } 9 }10 ?>11 <!DOCTYPE html>12 <html>13 <head>14 <meta chartset="UTF-8" />15 <style type="text/CSS" rel="stylesheet">16 a{17 text-decoration:none;18 font-size:30px;19 color:blue;20 }21 a:hover{22 text-decoration:underline;23 }24 </style>25 </head>26 <body>27 <form action="form.php" method="get">28 验证码: <img id="img" src="index.php?" onclick="changeCode()"/>29 <a href="javascript:void(0)" onclick="changeCode()">看不清?</a> <br />30 请输入验证码: <input name="code" /><br />31 <input type="submit" value="提交" />32 </form>33 </body>34 <script type="text/Javascript">35 36 function changeCode(){37 var img=document.getElementById('img');38 //img.src='index.php?r='+Math.random();39 img.setAttribute('src','index.php?r='+Math.random());40 }41 </script>42 </html>