Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de vérification du code de vérification de connexion, exemple php

PHP implémente la fonction de vérification du code de vérification de connexion, exemple php

jacklove
jackloveoriginal
2018-06-23 16:14:571638parcourir

Cet article présente principalement en détail la fonction de vérification du code de vérification en PHP. Elle est principalement implémentée en utilisant la fonction SESSION en PHP. Elle a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Vérification du. le code de vérification est implémenté à l'aide de la fonction SESSION en PHP.

Déclarez la fonction en haut session_start(); Dites au serveur pourquoi nous voulons utiliser cette fonction.

session_start();

La prochaine chose que nous utilisons est le code pour implémenter le code de vérification. Ici, nous utilisons les codes numériques anglais comme exemple.

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

Déclarez ensuite une variable vide avant que le code de vérification ne soit implémenté pour stocker le code de vérification.

$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 ); //销毁图像

Utilisez la méthode POST pour recevoir le code de vérification. La fonction strtolower rend le serveur insensible à la casse. Cela peut réduire efficacement le taux d'erreur de saisie de l'utilisateur.

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

Ce qui suit est le code de la page 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" 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>

Résumé

Ce qui précède est ce que l'éditeur vous a présenté PHP implémente la fonction de vérification du code de vérification de connexion. J'espère que cela sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Je voudrais également vous remercier tous pour votre soutien au site Web php chinois !

Articles qui pourraient vous intéresser :

Comment utiliser Composer pour installer ThinkPHP5 dans un environnement Windows

PHP génère intelligemment le contenu pertinent de la signature de demande requise pour l'interface Tencent Cloud COS

Méthode générale de configuration de la base de données d'accès PHP (json)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn