您好,登錄后才能下訂單哦!
利用php怎么生成一個(gè)4位數(shù)字的驗(yàn)證碼?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
/* *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=authinput><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); ?>
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。