php生成4位數(shù)字驗(yàn)證碼的實(shí)現(xiàn)代碼
在php中實(shí)現(xiàn)驗(yàn)證碼還是很方便的,關(guān)鍵點(diǎn)在于掌握php gd庫(kù)與session的用法。
縱觀網(wǎng)上php 生成驗(yàn)證碼的例子,無(wú)不是php gd庫(kù)與session相結(jié)合,并利用php 生成隨機(jī)數(shù)的方法來(lái)完成。
PHP驗(yàn)證碼,可以分為很多種,包括 php 圖片驗(yàn)證碼,php 隨機(jī)驗(yàn)證碼,以及php 中文驗(yàn)證碼等,根據(jù)不同的應(yīng)用場(chǎng)合來(lái)使用不同的驗(yàn)證碼。
這里分享一個(gè)php數(shù)字驗(yàn)證碼,供大家參考。
4位數(shù)字驗(yàn)證碼
/* *Filename:authpage.php */ session_start(); //srand((double)microtime()*1000000); $authnum=$_SESSION['authnum']; //驗(yàn)證用戶輸入是否和驗(yàn)證碼一致 if(isset($_POST['authinput'])) { if(strcmp($_POST['authinput'],$_SESSION['authnum'])==0) echo"驗(yàn)證成功!"; else echo"驗(yàn)證失?。?; } //生成新的四位整數(shù)驗(yàn)證碼 //while(($authnum=rand()%10000)<1000); ?> <formaction=test4.phpmethod=post> <table> 請(qǐng)輸入驗(yàn)證碼:<inputtype=textname=authinputstyle="width:80px"><br> <inputtype=submitname="驗(yàn)證"value="提交驗(yàn)證碼"> <inputtype=hiddenname=authnumvalue=<?echo$authnum;?>> <imgsrc=authimg.php?authnum=<?echo$authnum;?>> </table> </form>
authimg.php
<?php //生成驗(yàn)證碼圖片 Header("Content-type:image/PNG"); srand((double)microtime()*1000000);//播下一個(gè)生成隨機(jī)數(shù)字的種子,以方便下面隨機(jī)數(shù)生成的使用 session_start();//將隨機(jī)數(shù)存入session中 $_SESSION['authnum']=""; $im=imagecreate(62,20);//制定圖片背景大小 $black=ImageColorAllocate($im,0,0,0);//設(shè)定三種顏色 $white=ImageColorAllocate($im,255,255,255); $gray=ImageColorAllocate($im,200,200,200); imagefill($im,0,0,$gray);//采用區(qū)域填充法,設(shè)定(0,0) while(($authnum=rand()%100000)<10000); //將四位整數(shù)驗(yàn)證碼繪入圖片 $_SESSION['authnum']=$authnum; imagestring($im,5,10,3,$authnum,$black); //用col顏色將字符串s畫到image所代表的圖像的x,y座標(biāo)處(圖像的左上角為0,0)。 //如果font是1,2,3,4或5,則使用內(nèi)置字體 for($i=0;$i<200;$i++)//加入干擾象素 { $randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im,rand()%70,rand()%30,$randcolor); } ImagePNG($im); ImageDestroy($im); ?>
以上就是php生成4位數(shù)字驗(yàn)證碼的實(shí)現(xiàn)代碼,希望對(duì)大家的學(xué)習(xí)有所幫助,大家能夠更加熟練地掌握php驗(yàn)證碼的操作。
- php 判斷是否是中文/英文/數(shù)字示例代碼
- PHP的幾個(gè)常用數(shù)字判斷函數(shù)代碼
- php判斷輸入是否是純數(shù)字,英文,漢字的方法
- php中數(shù)字、字符與對(duì)象判斷函數(shù)用法實(shí)例
- 利用PHP判斷是否是連乘數(shù)字串的方法示例
- PHP正則匹配中英文、數(shù)字及下劃線的方法【用戶名驗(yàn)證】
- PHP寫的簡(jiǎn)單數(shù)字驗(yàn)證碼實(shí)例
- php數(shù)字運(yùn)算驗(yàn)證碼的實(shí)現(xiàn)代碼
- php實(shí)現(xiàn)的數(shù)字驗(yàn)證碼及數(shù)字運(yùn)算驗(yàn)證碼
- php生成數(shù)字字母的驗(yàn)證碼圖片
- 支持中文、字母、數(shù)字的PHP驗(yàn)證碼
- 支持中文字母數(shù)字、自定義字體php驗(yàn)證碼代碼
- php中文字母數(shù)字驗(yàn)證碼實(shí)現(xiàn)代碼
- php用正則判斷是否為數(shù)字的方法
相關(guān)文章
PHP觀察者模式實(shí)例分析【對(duì)比JS觀察者模式】
這篇文章主要介紹了PHP觀察者模式,結(jié)合實(shí)例形式對(duì)比分析JS觀察者模式實(shí)現(xiàn)方法,給出了php觀察者模式的完整定義與使用操作示例,需要的朋友可以參考下2019-05-05PHP實(shí)現(xiàn)數(shù)組根據(jù)某個(gè)單元字段排序操作示例
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)組根據(jù)某個(gè)單元字段排序操作,結(jié)合實(shí)例形式分析了php基于array_multisort函數(shù)降序排序操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08PHP file_get_contents設(shè)置超時(shí)處理方法
今天說(shuō)的這篇是講超時(shí)的,確實(shí)在跨服務(wù)器提交的時(shí)候,不可避免的會(huì)遇到超時(shí)的情況,這個(gè)時(shí)候怎么辦?set_time_limit是沒有用的,只有用context中的timeout時(shí)間來(lái)控制2013-09-09在html文件中也可以執(zhí)行php語(yǔ)句的方法
這篇文章主要介紹了在html文件中也可以執(zhí)行php語(yǔ)句的方法,需要的朋友可以參考下2015-04-04PHP實(shí)現(xiàn)動(dòng)態(tài)柱狀圖改進(jìn)版
這篇文章主要介紹了PHP實(shí)現(xiàn)動(dòng)態(tài)柱狀圖改進(jìn)版,是在前面所述實(shí)現(xiàn)柱狀圖的基礎(chǔ)上進(jìn)行的改進(jìn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03