php生成4位數(shù)字驗(yàn)證碼的實(shí)現(xiàn)代碼
在php中實(shí)現(xiàn)驗(yàn)證碼還是很方便的,關(guān)鍵點(diǎn)在于掌握php gd庫與session的用法。
縱觀網(wǎng)上php 生成驗(yàn)證碼的例子,無不是php gd庫與session相結(jié)合,并利用php 生成隨機(jī)數(shù)的方法來完成。
PHP驗(yàn)證碼,可以分為很多種,包括 php 圖片驗(yàn)證碼,php 隨機(jī)驗(yàn)證碼,以及php 中文驗(yàn)證碼等,根據(jù)不同的應(yīng)用場(chǎng)合來使用不同的驗(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í)現(xiàn)數(shù)據(jù)四舍五入的方法小結(jié)【4種方法】
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)據(jù)四舍五入的方法,結(jié)合實(shí)例形式總結(jié)分析了php使用number_format()、round()、sprintf()格式化及intval()等函數(shù)實(shí)現(xiàn)數(shù)據(jù)四舍五入的4種操作方法,需要的朋友可以參考下2019-03-03
php 表單提交大量數(shù)據(jù)發(fā)生丟失的解決方法
這篇文章主要介紹了php表單提交大量數(shù)據(jù)、上千個(gè)文本框時(shí)發(fā)生數(shù)據(jù)丟失、數(shù)據(jù)不完整等問題的解決方法,需要的朋友可以參考下2014-03-03
PHP使用Pthread實(shí)現(xiàn)的多線程操作實(shí)例
這篇文章主要介紹了PHP使用Pthread實(shí)現(xiàn)的多線程操作的方法,以完整實(shí)例形式分析了php多線程的創(chuàng)建及使用相關(guān)技巧,需要的朋友可以參考下2015-11-11
PHP設(shè)計(jì)模式之裝飾者模式代碼實(shí)例
這篇文章主要介紹了PHP設(shè)計(jì)模式之裝飾者模式代碼實(shí)例,裝飾者模式就是不修改原類代碼和繼承的情況下動(dòng)態(tài)擴(kuò)展類的功能,本文就給出了代碼實(shí)例,需要的朋友可以參考下2015-05-05
取得單條網(wǎng)站評(píng)論以數(shù)組形式進(jìn)行輸出
這篇文章主要介紹了取得單條網(wǎng)站評(píng)論方法并以數(shù)組形式進(jìn)行輸出,需要的朋友可以參考下2014-07-07

