PHP實現驗證碼

來源:互聯網
上載者:User

數字驗證碼



 <? 
   /* 
    *   Filename: authpage.php 
    */ 
session_start();
     //   srand((double)microtime()*1000000); 
        $authnum = $_SESSION[''authnum''];
        //驗證使用者輸入是否和驗證碼一致 
        if(isset($_POST[''authinput'']))  
        { 
                if(strcmp($_POST[''authinput''],$_SESSION[''authnum''])==0) 
                        echo "驗證成功!"; 
                else 
                        echo "驗證失敗!"; 
        } 
    
        //產生新的四位整數驗證碼 

    //    while(($authnum=rand()%10000)<1000);  
    ?> 
        <form action=test4.php method=post> 
        <table> 
                請輸入驗證碼:<input type=text name=authinput style="width: 80px"><br> 
                <input type=submit name="驗證" value="提交驗證碼"> 
                <input type=hidden name=authnum value=<? echo $authnum; ?>> 
                <img src=authimg.php?authnum=<? echo $authnum; ?>> 
        </table> 
        </form> 

 

 

 authimg.php



<?php 
//產生驗證碼圖片 
Header("Content-type: image/PNG");  
srand((double)microtime()*1000000);//播下一個產生隨機數位種子,以方便下面隨機數產生的使用

session_start();//將隨機數存入session中
$_SESSION[''authnum'']="";
$im = imagecreate(62,20); //制定圖片背景大小

$black = ImageColorAllocate($im, 0,0,0); //設定三種顏色
$white = ImageColorAllocate($im, 255,255,255); 
$gray = ImageColorAllocate($im, 200,200,200); 

imagefill($im,0,0,$gray); //採用地區填充法,設定(0,0)

while(($authnum=rand()%100000)<10000);
//將四位整數驗證碼繪入圖片 
$_SESSION[''authnum'']=$authnum;
imagestring($im, 5, 10, 3, $authnum, $black);
// 用 col 顏色將字串 s 畫到 image 所代表的映像的 x,y 座標處像的左上方為 0, 0)。
//如果 font 是 1,2,3,4 或 5,則使用內建字型

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); 
?>


<

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.