首頁 > 後端開發 > php教程 > PHP產生帶有雪花背景的驗證碼_PHP教程

PHP產生帶有雪花背景的驗證碼_PHP教程

WBOY
發布: 2016-07-21 16:09:12
原創
977 人瀏覽過

效果参考(附源码)http://mail.htjs.net/yanzhengma/test.php

();?>

PHP產生帶有雪花背景的驗證碼_PHP教程



//檢驗校驗碼
if(isset(if(isset(
if(isset(
if(isset(if(isset($HTTP_POST_VARS["sub"])): if(["number"] != 
$HTTP_SESSION_VARS
[
] || empty($HTTP_POST_VARS
[
"number"
"number" "校驗碼不正確!" ; }else{     echo「驗證碼通過!"
;
}
endif;
show_source(show_source
(>
test. '
);



//以上本頁的原始碼
//以下是產生驗證碼的來源碼show_source
(
'YanZhengMa.php'

);
<font color="#000000"><font face="新宋体" color="#0000cc">); <br></font><font face="新宋体"><font color="#006600"><br></font><font color="#0000cc"></font><?php <FONT color=#006600>session_start</font><font color="#cc0000"></font>(); </font><font face="新宋体" color="#006600"><br></font>(); <font face="新宋体"><font color="#ff9900"><br><br>(); </font><font color="#0000cc"></font> <font color="#006600"></font>"login_check_number"<font color="#0000cc"></font><font color="#006600">); </font></font><font face="新宋体"><font color="#ff9900">//昨晚看到了chianren上的驗證碼效果,就考慮了一下,用PHP的GD庫完成了類似功能<br>//先成生背景,再把產生的驗證碼放上去</font><font color="#0000cc"></font>$img_height<font color="#006600"></font>=<font color="#0000cc"></font> 120</font><font face="新宋体">;    <font color="#006600"><br></font><font color="#0000cc">//先定義圖片的長、寬</font><font color="#006600"></font>$img_width<font color="#cc0000"></font><font color="#006600">$img_width</font><font color="#cc0000"></font>$img_width40<font face="新宋体" color="#006600"><br></font><font face="新宋体">; <font color="#ff9900">if(<br></font>$HTTP_GET_VARS<font color="#006600"></font>[<font color="#0000cc"></font><font color="#006600"></font>[<font color="#0000cc"></font> 🎜>]== <font color="#006600"></font>"init"<font color="#0000cc"></font><font color="#006600">){ </font>    <font color="#0000cc"></font><font color="#006600">//srand(microtime(microtime PHP420後,srand不是必須的</font>    <font color="#0000cc"></font>for(</font><font face="新宋体">$Tmpa<font color="#006600"><br>=</font><font color="#0000cc">0</font><font color="#006600">=</font><font color="#0000cc">0</font><font color="#006600">; </font>$Tmpa<font color="#0000cc"></font></font>4<font color="#0000cc"></font>;<font color="#006600"></font>$Tmpa<font color="#0000cc"></font>        </font><font face="新宋体" color="#006600">$nmsg<br></font>.=<font face="新宋体"><font color="#ff9900">dechex<br><br>(<br></font>rand<font color="#0000cc"></font>(<font color="#006600"></font>0<font color="#0000cc"></font>,<font color="#006600"></font>15<font color="#0000cc"></font></font>)); <font face="新宋体" color="#006600">    }<br><br></font>    }<font face="新宋体"><font color="#ff9900"><br>//by sports98 >    $HTTP_SESSION_VARS[login_check_number<sg>;     //$HTTP_SESSION_VARS[login_check_number] = strval /"1111","9999")); session中    //誰能下補充,可以同時產生字母和數字啊? ?----由sports98完成了<br><br>    </sg></font><font color="#0000cc">$aimg </font><font color="#006600">= </font><font color="#0000cc">imageCreate</font>= <font color="#006600"></font>imageCreate<font color="#0000cc">= </font><font color="#006600"> img_height</font><font color="#0000cc">,</font><font color="#006600">$img_width</font></font>);    <font face="新宋体"><font color="#ff9900"><br><afate> </afate></font><font color="#0000cc">(</font><font color="#006600">$aimg</font><font color="#0000cc">, </font><font color="#006600">255</font><font color="#0000cc">,</font>255<font color="#006600"></font>,<font color="#0000cc"><font color="#006600">255</font><font color="#0000cc">);            </font><font color="#006600"></font>//圖片底色,Image<orocate></orocate></font>$black <font face="新宋体"><font color="#ff9900">= <br></font>ImageColorAllocate<font color="#0000cc"></font>(<font color="#006600"><font color="#0000cc">,</font><font color="#006600">0</font><font color="#0000cc">,</font><font color="#006600">0</font><font color="#0000cc">);      定義所需的黑色</font>    <font color="#006600"></font>ImageRectangle<font color="#0000cc"></font>(<font color="#006600"></font>$aimg<font color="#0000cc"></font>,<font color="#006600"></font>$aimg</font><font face="新宋体">,<font color="#ff9900"><br>$aimg</font><font color="#0000cc">,</font><font color="#006600">$aimg</font><font color="#0000cc">,</font><font color="#006600">$aimg</font><font color="#0000cc"> </font><font color="#006600">0</font><font color="#0000cc">,</font><font color="#006600">$img_height</font><font color="#0000cc">-</font><font color="#006600">1</font><font color="#0000cc">-</font><font color="#006600">1</font><font color="#0000cc">,</font><font color="#006600"> img_width</font><font color="#0000cc">-</font><font color="#006600">1</font><font color="#0000cc">,</font><font color="#006600">$black</font></font>);<font face="新宋体"><font color="#ff9900">$black<br><br>);<br></font><font color="#006600"> //先成一黑色的長方形把圖片包圍</font><font color="#0000cc">    //下面該產生雪花背景了,其實就是在圖片上產生一些符號</font>    <font color="#006600"></font> (<font color="#0000cc"></font><font color="#006600"> $i</font><font color="#0000cc">=</font><font color="#006600">1</font><font color="#0000cc">; </font><font color="#006600">$i</font><font color="#0000cc">10<font color="#006600">; </font></font>$i<font face="新宋体"><font color="#ff9900"> ) {    <br></font><font color="#0000cc"></font>//先用100個測試<font color="#006600"></font><font color="#0000cc">//先用100個測試</font><font color="#006600"></font>//先用100個測試<font color="#0000cc"></font><font color="#006600"> 🎜></font>(<font color="#0000cc"></font>$aimg<font color="#006600"></font>,<font color="#0000cc"></font>1<font color="#006600"></font>,<font color="#0000cc"></font>mt_rand<font color="#006600"></font>(<font color="#0000cc"></font>1<font color="#006600"></font>,<font color="#0000cc"></font>$img_height<font color="#006600"></font>),<font color="#0000cc"></font>mt_rand<font color="#006600"></font><font color="#cc0000"></font>mt_rand<font color="#006600"></font><font color="#0000cc"> </font><font color="#006600">,</font><font color="#0000cc">$img_width</font><font color="#006600">),</font><font color="#0000cc">"*"</font><font color="#006600">,</font><font color="#0000cc">"*"</font><font color="#006600">,</font><font color="#0000cc">"*"</font><font color="#006600">,</font><font color="#0000cc"> 🎜>(</font><font color="#006600">$aimg</font><font color="#0000cc">,</font><font color="#006600">mt_rand</font><font color="#0000cc">(</font><font color="#006600">200</font><font color="#0000cc">(</font><font color="#006600">200</font><font color="#0000cc"></font><font color="#006600">255</font><font color="#0000cc">),</font></font>mt_rand<font face="新宋体" color="#006600"><br>(</font><font face="新宋体" color="#ff9900">200<br></font>,<font face="新宋体" color="#006600"><br>200<br></font>,<font face="新宋体"><font color="#ff9900">200,200,200,200,200,200、 🎜>),mt_rand(200,255,255 );         //哈,看到了吧,其實也不是雪花,就是產生*號而已。為了使它們看起來"雜亂無章、5顏6色",就得在1個1個生成它們的時候,讓它們的位置、顏色,甚至大小都用隨機數,rand()或mt_rand都可以完成。     }     //上方產生了背景,現在就該把已經產生的隨機數放上來了。道理跟上面差不多,隨機數1個1個地放,同時讓他們的位置、大小、顏色都用成隨機數~~ <br>    //為了區別於背景,這裡的顏色不超過200,上面的不小於200 <br>    </font><font color="#006600">for (</font><font color="#0000cc">$i</font><font color="#006600">=</font><font color="#0000cc">0</font><font color="#006600">=</font><font color="#0000cc">0</font><font color="#006600"></font><font color="#0000cc">0</font><font color="#006600"></font></font></font>strlen<font color="#0000cc"></font>(<font color="#006600"></font>$HTTP_SESSION_VARS<font color="#0000cc"></font>[</font><font face="新宋体"><br>$i</font><font color="#0000cc"></font><font color="#006600"> ){ </font>        <font color="#0000cc"></font>imageString<font color="#006600"> 🎜></font>, <font color="#0000cc"></font>mt_rand<font color="#006600"></font>(<font color="#0000cc"></font>3<font color="#006600"></font>,<font color="#0000cc"></font>5<font color="#006600"></font>,<font color="#0000cc"></font>5<font color="#006600">5</font> 🎜><font color="#0000cc">$i</font><font color="#006600">*</font><font color="#0000cc">$img_height</font><font color="#006600">/</font><font color="#0000cc">4</font><font color="#006600">/</font><font color="#0000cc">4</font><font color="#006600">/</font><font color="#0000cc">4</font><font color="#006600">(</font><font color="#0000cc">1</font><font color="#006600">,</font><font color="#0000cc">10</font><font color="#006600">),</font><font color="#0000cc">mt_y</font><font color="#006600">),</font><font color="#0000cc">mt_rand</font><font color="#006600">1</font><font color="#0000cc">,</font><font color="#006600">$img_width</font><font color="#0000cc">/</font><font color="#006600">2</font><font color="#0000cc">/</font><font color="#006600">2</font><font color="#0000cc">/</font><font color="#006600">2</font><font color="#0000cc">/</font><font color="#006600">2</font></font>[<font color="#006600"></font>login_check_number<font color="#0000cc"></font>][<font color="#006600"></font>$i<font color="#0000cc"></font>,<font color="#006600"></font>$i<font color="#0000cc"></font>,<font color="#006600">,</font>(<font color="#0000cc"></font>$aimg<font color="#006600"></font>,<font color="#0000cc"></font>mt_rand<font color="#006600"></font>(<font color="#0000cc"></font>0<font color="#006600"></font><font color="#0000cc"></font>0<font color="#006600"></font><font color="#0000cc"></font>100
),
mt_rand
(0,0,
1
,
15 🎜>),mt_rand(0
,
200));
    }     Header(
 🎜>
//告訴瀏覽器,下面的資料是圖片,而不要按文字顯示
    
ImagePng
>$aimg

);                     在中    

ImageDestroy($aimg$aimg$aimg
$aimg
$aimg$aimg> 🎜>?> http://www.bkjia.com/PHPjc/314647.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314647.htmlTechArticle效果參考(附源碼)http://mail.htjs.net/yanzhengma/test.php ?session_start ( ); ? FORM METHOD=POST ACTION="" input type=text name=number maxlength=4img src="YanZhengMa.php?act=i...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板