php實現驗證碼與表單的結合使用

2021-08-30 06:17:38 字數 1925 閱讀 1725

表單 formidentifyingcode.php

驗證碼生成頁 identifyingcode.php

<?php

session_start();

header('content-type:text/html;charset=utf-8;');

error_reporting(e_all & ~e_notice); //表示提示除去 e_notice 之外的所有錯誤資訊

check_code();

function check_code($width=100,$height=50,$num=4,$type='jpeg')

$string .= sprintf('%c',$ascii); //把4個字元累加起來

}$_session['authcode'] = $string ;

//背景顏色

imagefilledrectangle($img,0,0,$width,$height,randbg($img));

//畫干擾元素

// 我們可以隨機的在中畫上50個畫素點。最小的位置為0,0。最大的位置為最大的寬或者最大的高。

//然後使用mt_rand(0,最大寬)、mt_rand(0,最大高)。再使用randpix針對我們建立的畫布來分配顏色。

//bool imagesetpixel ( resource $image , int $x , int $y , int $color ) 在指定的座標處繪製畫素。

for($i=0;$i<50;$i++)

//寫字

//php imagechar - 寫出橫向字元

//bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

//imagechar() 將字串 c 的第乙個字元畫在 image 指定的影象中,其左上角位於 x,y(影象左上角為 0, 0),顏色為 color。如果 font 是 1,2,3,4 或 5,則使用內建的字型(更大的數字對應於更大的字型)

for($i=0;$i<$num;$i++)

//imagejpeg

$func = 'image' . $type;

$header = 'content-type:image/' . $type;

if (function_exists($func)) else

imagedestroy($img);

return $string;

}//淺色的背景

// 0-120 低數值是深色系。

//130 - 255 通常為淺色系。rgb

function randbg($img)

//深色的字或者點這些干擾元素

function randpix($img)

?>

驗證表單頁面 formidentifyingcode.php

<?php

session_start();

//error_reporting(e_all & ~e_notice); //表示提示除去 e_notice 之外的所有錯誤資訊

header("content-type:text/html;charset=utf-8"); //設定頭部資訊

if(isset($_post['code']))

else

} else

?>

登陸成功頁面  welcome.php

<?php

echo "歡迎登陸";

?>

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 設定為...