Heim  >  Artikel  >  Backend-Entwicklung  >  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

墨辰丷
墨辰丷Original
2018-05-17 11:35:221901Durchsuche

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


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);//覆盖黑色画布


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; //这个变量的值与用户输入的值相等



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


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>

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!

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