验证验证码的PHP代码:
利用随机数随机生成四位数的验证码。
1 <?php
2
3 session_start();
4 $arr = array(
5 ‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,
6 ‘y‘,‘z‘,‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘
7 );
8 $rand = "";
9 for($i=1;$i<=4; $i++){
10 $rand .= $arr[rand(0,count($arr)-1)];
11 }
12 $_SESSION[‘check_pic‘] = $rand;
13 //生成图片
14 $im = imagecreatetruecolor(100,30);
15 //生成颜色,当第一次调用生成颜色的方法,是生成背景颜色
16 $bg = imagecolorallocate($im,0,0,0);
17 //第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色
18 $te = imagecolorallocate($im,255,255,255);
19
20 //在图片上面生成文字
21 imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te);
22 //要把php当成图片输出,必须给文件一个头申明
23
24 ob_clean();
25 header("Content-type:image/jpeg");
26 //最终生成图片
27 imagejpeg($im);
28
29 ?>
验证验证码是否正确的代码:
1 <html>
2 <head>
3 <meta http-equiv="Content-Type"
4
5 content="text/html;charset=UTF-8"/>
6 </head>
7 <body>
8
9 <?php
10
11 session_start();
12 if(isset($_POST[‘check‘])){
13 if($_POST[‘check‘] == $_SESSION[‘check_pic‘]){
14 echo "验证成功";
15 }else{
16 echo "验证失败";
17 }
18 }
19 ?>
20
21 <form action="check2.php" method="post">
22 <input type="text" name="check"/>
23 <img src="check1.php" alt="" onclick="refreshImg()"
24
25 id="chk" style="cursor: pointer"/>
26 <br/>
27
28 <input type="submit" value="提交"/>
29 </form>
30 <script>
31 function refreshImg(){
32 //避免浏览器认为一直访问的同一个页面,所以用随机数传一个
33
34 值,让它以为访问的是不同页面
35 var rand = Math.round(Math.random()*10000);
36 var chk = document.getElementById("chk");
37 chk.src = "check1.php?num="+rand;
38 }
39 </script>
时间: 2024-10-31 09:07:32