PHP实现四位数字+字母验证码
生活随笔
收集整理的這篇文章主要介紹了
PHP实现四位数字+字母验证码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、新建captcha.php,寫入以下代碼:
<?php/*--創建一個大小為 100*30 的驗證碼--*/session_start();$image = imagecreatetruecolor(100, 30);$bgcolor = imagecolorallocate($image, 255, 255, 255);imagefill($image, 0, 0, $bgcolor);$captch_code = '';for($i=0;$i<4;$i++) {$fontsize = 6;$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120),rand(0, 120));$data = 'abcdefghijkmnpqrstuvwxy3456789';$fontcontent = substr($data, rand(0, strlen($data)-1), 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($i=0; $i<200;$i++) {$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(80,220), rand(80,220), rand(80, 220));imageline($image, rand(1,99), rand(1,29), rand(1,99), rand(1,29), $linecolor);}header('content-type:image/png');imagepng($image);imagedestroy($image); ?>二、新建form.php,寫入以下代碼: <?phpif(isset($_REQUEST['authcode'])) {session_start();if(strtolower($_REQUEST['authcode']) == $_SESSION['authcode']) {echo "輸入正確!";} else {echo "輸入錯誤!";}exit();} ?><!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html;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=100 height=30><a href="javascript:void(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>
了解更多,請查看 http://www.imooc.com/learn/115。
總結
以上是生活随笔為你收集整理的PHP实现四位数字+字母验证码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手带你手写SpringMVC,剑指优
- 下一篇: Java是如何实现自己的SPI机制的?