Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan pembacaan pruf dalam php

Bagaimana untuk melaksanakan pembacaan pruf dalam php

藏色散人
Lepaskan: 2023-03-13 22:44:02
asal
1637 orang telah melayarinya

Cara melaksanakan pengesahan dalam PHP: 1. Isytihar fungsi "session_start(); 2. Buat kod untuk melaksanakan kod pengesahan; 3. Isytiharkan pembolehubah kosong sebelum kod pengesahan dilaksanakan untuk disimpan kod pengesahan ;4. Gunakan kaedah POST untuk menerima kod pengesahan.

Bagaimana untuk melaksanakan pembacaan pruf dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP7.1, komputer Dell G3.

Bagaimana untuk melaksanakan pengesahan dalam PHP?

PHP melaksanakan fungsi pengesahan kod pengesahan

Pengesahan kod pengesahan adalah untuk gunakan fungsi SESI dalam PHP untuk mencapainya.

Isytiharkan fungsi session_start() di bahagian atas; untuk memberitahu pelayan bahawa kami ingin menggunakan fungsi ini.

session_start();
Salin selepas log masuk

Perkara seterusnya yang kami gunakan ialah kod untuk melaksanakan kod pengesahan. Di sini kami menggunakan kod angka Inggeris sebagai contoh.

$image = imagecreatetruecolor(100, 30); //创建一个100×30的画布 
$white = imagecolorallocate($image,255,255,255);//白色 
imagefill($image,0,0,$white);//覆盖黑色画布
Salin selepas log masuk

Kemudian isytiharkan pembolehubah kosong sebelum kod pengesahan dilaksanakan untuk menyimpan kod pengesahan.

$session = ""; //空变量 ,存放验证码 
for($i=0;$i<4;$i++){ 
  $size = 6; 
  $x = $i*25+mt_rand(5,10); 
  $y = mt_rand(5,10); 
  $sizi_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220)); 
  $char = join("",array_merge(range(&#39;a&#39;,&#39;z&#39;),range(&#39;A&#39;,&#39;Z&#39;),range(0,9))); 
  $char = str_shuffle($char); 
  $char = substr($char,0,1); 
  imagestring($image,$size,$x,$y,$char,$sizi_color); 
  $session .= $char ; //把验证码的每一个值赋值给变量 
} 
  $_SESSION[&#39;session&#39;] = $session; //这个变量的值与用户输入的值相等
Salin selepas log masuk
for($k=0;$k<200;$k++){ 
  $rand_color = imagecolorallocate($image,mt_rand(50,200),mt_rand(50,200),mt_rand(50,200)); 
  imagesetpixel($image,mt_rand(1,99),mt_rand(1,29),$rand_color); 
} 
  
for($n=0;$n<5;$n++){ 
  $line_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220)); 
  imageline($image,mt_rand(1,99),mt_rand(1,29),mt_rand(1,99),mt_rand(1,29),$line_color); 
} 
  
header(&#39;content-type:image/png&#39;);//设置文件输出格式 
imagepng( $image ); //以png格式输出$image图像 
imagedestroy( $image ); //销毁图像
Salin selepas log masuk

Gunakan kaedah POST untuk menerima kod pengesahan. Fungsi strtolower menjadikan pelayan tidak sensitif huruf besar-besaran. Ini boleh mengurangkan kadar ralat input pengguna dengan berkesan.

if(isset($_POST[&#39;session&#39;])){ 
  session_start(); 
  if(strtolower($_POST[&#39;session&#39;])==strtolower($_SESSION[&#39;session&#39;])){ 
    echo&#39;<font color="#0000CC">输入正确</form>&#39;; 
  }else{ 
    echo &#39;<font color="#CC0000"><b>输入错误</b></font>&#39;; 
  } 
  exit(); 
}
Salin selepas log masuk

Berikut ialah kod halaman HTML.

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"/> 
 <title>确认验证码</title> 
</head> 
<body> 
  <form method="post" action="./tushu.php"> 
  <p>验证码图片:<img  id="img" border="1" src="http://localhost//xxx.php"    style="max-width:90%"  style="max-width:90%" alt="Bagaimana untuk melaksanakan pembacaan pruf dalam php" ></p> 
  <a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById(&#39;img&#39;).src=&#39;http://localhost//xxx.php&#39;">看不清?换一个</a> 
  <p>请输入图片中的验证码:<input type="text" name="session" value=""/></p> 
  <p><input type="submit" value="提交" style="padding:6px 10px;"></p> 
  </form> 
</body> 
</html>
Salin selepas log masuk

Berikut ialah penjelasan khas bahawa acara onclick telah ditambahkan pada kod HTML Apabila pengguna tidak dapat mengenali kod pengesahan semasa, tidak perlu memuat semula penyemak imbas dan klik terus "Boleh'. t lihat dengan jelas? Tukar satu lagi" untuk menukarnya. Kod pengesahan.

Bagaimana untuk melaksanakan pembacaan pruf dalam php

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pembacaan pruf dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan