Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie Korrekturlesen in PHP

So implementieren Sie Korrekturlesen in PHP

藏色散人
藏色散人Original
2021-11-22 10:13:301664Durchsuche

So implementieren Sie die Verifizierung in PHP: 1. Deklarieren Sie die Funktion „session_start();“ 2. Erstellen Sie den Code zur Implementierung des Verifizierungscodes. 3. Deklarieren Sie eine leere Variable, bevor der Verifizierungscode implementiert wird. 4. Verwenden Sie einfach die POST-Methode, um den Bestätigungscode zu erhalten.

So implementieren Sie Korrekturlesen in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP7.1, Dell G3-Computer.

Wie implementiert man die Verifizierung in PHP?

PHP implementiert die Verifizierungsfunktion für den Verifizierungscode.

Die Verifizierung des Verifizierungscodes wird mithilfe der SESSION-Funktion in PHP implementiert.

Deklarieren Sie oben die Funktion session_start();, um dem Server mitzuteilen, dass wir diese Funktion verwenden möchten.

session_start();

Als nächstes verwenden wir den Code zur Implementierung des Bestätigungscodes. Hier verwenden wir als Beispiel englische Zahlencodes.

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

Dann deklarieren Sie vor der Implementierung des Bestätigungscodes eine leere Variable, um den Bestätigungscode zu speichern.

$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; //这个变量的值与用户输入的值相等
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 ); //销毁图像

Verwenden Sie die POST-Methode, um den Bestätigungscode zu erhalten. Die strtolower-Funktion macht die Groß-/Kleinschreibung des Servers unempfindlich. Dadurch kann die Eingabefehlerquote des Benutzers effektiv reduziert werden.

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(); 
}

Das Folgende ist der HTML-Seitencode.

<!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="So implementieren Sie Korrekturlesen in 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>

Hier ist eine spezielle Erklärung, dass dem HTML-Code ein Ereignis „Onclick“ hinzugefügt wurde. Wenn der Benutzer den aktuellen Bestätigungscode nicht erkennen kann, kann er oder sie den Bestätigungscode ändern, ohne den Browser zu aktualisieren, indem er auf „Kann nicht klar sehen“ klickt ? Ein anderes ändern".

So implementieren Sie Korrekturlesen in PHP

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Korrekturlesen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn