現在來說說簡單的純數字驗證碼吧。
如果是初學者,建議按照我**的注釋 //數字 一步步來。最簡單的方法,還是把整個**複製走了。
新建乙個captcha.php:
<?php接著就是靜態頁的**了:index.html//11>設定session,必須處於指令碼最頂部
session_start();
/*$image = imagecreatetruecolor(100, 30); //1>設定驗證碼大小的函式
//5>設定驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue);
$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff
//6>區域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區域著色,col 表示欲塗上的顏色
imagefill($image, 0, 0, $bgcolor);
//10>設定變數
$captcha_code = "";*/
//7>生成隨機數字
for($i=0;$i<4;$i++)
//10>存到session
$_session['authcode'] = $captcha_code;
//8>增加干擾元素,設定雪花點
for($i=0;$i<200;$i++)
//9>增加干擾元素,設定橫線
for($i=0;$i<4;$i++)
//2>設定頭部,image/png
header('content-type: image/png');
//3>imagepng() 建立png圖形函式
imagepng($image);
//4>imagedestroy() 結束圖形函式 銷毀$image
imagedestroy($image);
從index.html可以看到,提交的表單是到form.php的,所以還要有乙個判斷的form.php**:
<?php顯示頁面如下:header("content-type:text/html;charset=utf-8"); //設定頭部資訊
//isset()檢測變數是否設定
if(isset($_request['authcode']))else
exit();
}
數字加英文的驗證碼,只需更改captcha.php頁面中的 7》即可,其他兩個頁面不需要動,**如下:
<?php//11>設定session,必須處於指令碼最頂部
session_start();
$image = imagecreatetruecolor(100, 30); //1>設定驗證碼大小的函式
//5>設定驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue);
$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff
//6>區域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區域著色,col 表示欲塗上的顏色
imagefill($image, 0, 0, $bgcolor);
//10>設定變數
$captcha_code = "";
//7>生成隨機的字母和數字
for($i=0;$i<4;$i++)
//10>存到session
$_session['authcode'] = $captcha_code;
//8>增加干擾元素,設定雪花點
for($i=0;$i<200;$i++)
//9>增加干擾元素,設定橫線
for($i=0;$i<4;$i++)
//2>設定頭部,image/png
header('content-type: image/png');
//3>imagepng() 建立png圖形函式
imagepng($image);
//4>imagedestroy() 結束圖形函式 銷毀$image
imagedestroy($image);
PHP實現驗證碼
目前,不少 為了防止使用者利用機械人自動註冊 登入 灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止 ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。我們這裡展示了如何編寫 php程式實現驗證碼功能 一...
php實現驗證碼
繪製驗證碼 num 5 str getcode num,2 建立畫布 width num 20 height 30 im imagecreatetruecolor width,height color 0 imagecolorallocate im,100,18,199 color 1 imagec...
PHP實現驗證碼
建立並設定大小 image imagecreatetruecolor 100,30 設定驗證碼顏色 方法 imagecolorallocate 物件,int red,int green,int blue bgcolor imagecolorallocate image,190,234,239 設定為...