Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie die Funktion zur Überprüfung des Anmeldebestätigungscodes in PHP

So implementieren Sie die Funktion zur Überprüfung des Anmeldebestätigungscodes in PHP

墨辰丷
Freigeben: 2023-03-26 09:12:01
Original
1955 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Bestätigungscode-Verifizierungsfunktion von PHP vorgestellt, die einen bestimmten Referenzwert hat.

Der Bestätigungscode wird mithilfe der PHP-SESSION-Funktion überprüft.
Deklarieren Sie oben die Funktion session_start();, um dem Server mitzuteilen, dass wir diese Funktion verwenden möchten.


session_start();
Nach dem Login kopieren


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


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


Deklarieren Sie dann eine leere Variable, bevor der Bestätigungscode implementiert wird, 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; //这个变量的值与用户输入的值相等
Nach dem Login kopieren



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 ); //销毁图像
Nach dem Login kopieren


Verwenden Sie die POST-Methode, um eine Bestätigung zu erhalten Code. 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(); 
}
Nach dem Login kopieren


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" width="100" height="30"></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>
Nach dem Login kopieren

Verwandte Empfehlungen:

So verwenden Sie yunpian.com, um die SMS-Bestätigungscode-Funktion in PHP zu implementieren

php-Bestätigungscode-Kapselungsklasse

Detaillierte Erläuterung der Schritte zur Implementierung der Laravel-SMS-Bestätigungscodefunktion

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Funktion zur Überprüfung des Anmeldebestätigungscodes in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage