Rumah pembangunan bahagian belakang tutorial php PHP GD 生成图片验证码+session获取存储验证码

PHP GD 生成图片验证码+session获取存储验证码

Jun 13, 2016 pm 12:01 PM
gt image lt quot rand

PHP GD 生成图片验证码+session获取储存验证码

    下面分享一个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=&#39;&#39;;for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $data=&#39;asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800&#39;;  $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[&#39;authcode&#39;]=$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);?>
Salin selepas log masuk

前台代码如下:

<?php if(isset($_REQUEST[&#39;autocode&#39;])){      session_start();	  if(strtolower($_POST[&#39;autocode&#39;]) == $_SESSION[&#39;authcode&#39;]){	   echo &#39;正确&#39;;	  }else{	  echo&#39;错误&#39;;	  }      exit();   }?>     <meta chartset="utf-8">         
Salin selepas log masuk

验证码图片:PHP GD 生成图片验证码+session获取存储验证码 width="100" style="max-width:90%" />

输入内容:


添加点击执行修改如下即可:

  <p>验证码图片:<img  src="/static/imghw/default1.png" data-src="captcha.php?r=" class="lazy" border="1" id="capthcha_img" onclick="this.src='captcha.php?r='+Math.random()" echo rand alt="PHP GD 生成图片验证码+session获取存储验证码" > width="100"    style="max-width:90%"  /&gt; <a href="javascript:void(0)" onclick="document.getElementById('capthcha_img').src='captcha.php?r='+Math.random()">换一个</a></p>
Salin selepas log masuk


本案例原创,转载请注明!

  

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Bagaimana untuk menyelesaikan ralat 'undefined: rand.Seed' dalam golang? Bagaimana untuk menyelesaikan ralat 'undefined: rand.Seed' dalam golang? Jun 25, 2023 am 08:34 AM

Bagaimana untuk menyelesaikan ralat 'undefined: rand.Seed' dalam golang?

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Cara menggunakan Bing Image Creator secara percuma Cara menggunakan Bing Image Creator secara percuma Feb 27, 2024 am 11:04 AM

Cara menggunakan Bing Image Creator secara percuma

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Jul 29, 2023 am 08:22 AM

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone

Bagaimana untuk memadam imej dari telefon Xiaomi Bagaimana untuk memadam imej dari telefon Xiaomi Mar 02, 2024 pm 05:34 PM

Bagaimana untuk memadam imej dari telefon Xiaomi

Bagaimana untuk menyegerakkan penjanaan nombor rawak dalam pemprosesan selari Golang? Bagaimana untuk menyegerakkan penjanaan nombor rawak dalam pemprosesan selari Golang? Jun 03, 2024 pm 02:53 PM

Bagaimana untuk menyegerakkan penjanaan nombor rawak dalam pemprosesan selari Golang?

Bagaimana untuk menyelesaikan masalah menjana nombor rawak yang sama menggunakan fungsi php rand Bagaimana untuk menyelesaikan masalah menjana nombor rawak yang sama menggunakan fungsi php rand Mar 23, 2023 am 09:17 AM

Bagaimana untuk menyelesaikan masalah menjana nombor rawak yang sama menggunakan fungsi php rand

See all articles