PHP GD 產生圖片驗證碼+session擷取儲存驗證碼

來源:互聯網
上載者:User

標籤:iss   ack   char   action   tracking   .net   manual   color   sse   

    以下分享一個PHP製作的圖片驗證碼案例:案比例如以:


   運用PHP GD具體請看:http://www.php.net/manual/zh/book.image.php

   後台圖片代碼例如以下:

 

<?

phpsession_start();$image = imagecreatetruecolor(100,30);//建立一個寬100。高度30的圖片$bgcolor=imagecolorallocate($image,255,255,255);//圖片背景是白色imagefill($image,0,0,$bgcolor);//圖片填充白色//隨機數/**for($i=0;$i<4;$i++){ $fontsize=6; $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $fontcontent=rand(0,9); $x=($i*100/4)+ rand(5,10); $y=rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}**///隨機資料$captch_code='';for($i=0;$i<4;$i++){ $fontsize=6; $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $data='asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800'; $fontcontent=substr($data,rand(0,strlen($data)),1); $captch_code.=$fontcontent; $x=($i*100/4)+ rand(5,10); $y=rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION['authcode']=$captch_code;//隨機點for($i=0;$i<200;$i++){ $pointcolor=imagecolorallocate($image,rand(50,120),rand(50,120),rand(50,120)); imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);}//隨機線for($i=0;$i<3;$i++){ $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header("content-type:image/png");imagepng($image);imagedestory($image);?>


前台代碼例如以下:

<?php   if(isset($_REQUEST['autocode'])){      session_start();  if(strtolower($_POST['autocode']) == $_SESSION['authcode']){   echo '正確';  }else{  echo'錯誤';  }      exit();   }?><!DOCTYPE html><html>  <head>   <meta chartset="utf-8">  </head>  <body>     <form method="post"  action="form.php">   <p>驗證碼圖片:<img border="1" src="captcha.php?r="<?php echo rand();?> width="100" height="30"  /></p>      <p>輸入內容:<input type="text" name="autocode" value="" /></p>           <p><input type="submit"  value="提交" style="padding:6px 20px;"/></p>         </form>  </body></html>


加入點擊運行改動例如以下就可以:

  <p>驗證碼圖片:<img border="1" id="capthcha_img" onclick="this.src='captcha.php?r='+Math.random()" src="captcha.php?

r="<?

php echo rand();?> width="100" height="30" /> <a href="javascript:void(0)" onclick="document.getElementById('capthcha_img').src='captcha.php?

r='+Math.random()">換一個</a></p>



本案例原創,轉載請註明。

  

PHP GD 產生圖片驗證碼+session擷取儲存驗證碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.