Maison >développement back-end >Problème PHP >Comment implémenter la fonction de code de vérification en php

Comment implémenter la fonction de code de vérification en php

(*-*)浩
(*-*)浩original
2019-09-29 15:04:354456parcourir

PHP implémente la fonction de code de vérification via la bibliothèque GD Les techniques de dessin et de sortie d'images liées au code de vérification PHP sont analysées sous forme d'exemples. Partagez-le avec tout le monde pour votre référence, comme suit :

Comment implémenter la fonction de code de vérification en php

Jetez d'abord un œil à l'effet obtenu : (apprentissage recommandé : Tutoriel vidéo PHP)

Comment implémenter la fonction de code de vérification en php

Implantation spécifique :

<?php
/*PHP实现验证码*/
session_start();//开启会话
//创建画布
$image=imagecreatetruecolor(100,38);
//背景颜色
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code=&#39;&#39;;//存储验证码
//随机选取4个数字
for($i=0;$i<4;$i++){
  $fontsize=10;    //
  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//随机颜色
  $fontcontent=rand(0,9);
  $captch_code.=$fontcontent;
  $x=($i*100/4)+rand(5,10);  //随机坐标
  $y=rand(5,10);
  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/*//字母和数字混合验证码
for($i=0;$i<4;$i++) {
  $fontsize = 10;    //
  $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));//??????
  $data = &#39;abcdefghijklmnopqrstuvwxyz1234567890&#39;;  //数据字典
  $fontcontent = substr($data, rand(0, strlen($data)), 1);
  $captch_code.=$fontcontent;
  $x = ($i * 100 / 4) + rand(5, 10);
  $y = rand(5, 10);
  imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}*/
$_SESSION[&#39;code&#39;]=$captch_code;
//增加干扰点
for($i=0;$i<200;$i++){
  $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//
}
//增加干扰线
for($i=0;$i<3;$i++){
  $linecolor=imagecolorallocate($image,rand(80,280),rand(80,220),rand(80,220));
  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
//输出格式
header(&#39;content-type:image.png&#39;);
imagepng($image);
//销毁图片
imagedestroy($image);

Pour réaliser la connexion des formulaires et des Fonction "change one" Implémentation :

<input type="text" placeholder="验证码" name="verifycode" class="captcha">
<br>
<img  id="captcha_img" src="captcha.php?r=<?php echo rand();? alt="Comment implémenter la fonction de code de vérification en php" >" alt="验证码">
<label>
<a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById(&#39;captcha_img&#39;).src=&#39;captcha.php?r=&#39;+Math.random()">换一个</a> 
</label>

captcha.php est suivi d'un paramètre aléatoire pour réaliser la fonction de modification du code de vérification. La modification de la fonction peut être réalisée via un simple js. Si cette fonction n’existe pas, aucun paramètre ne peut être utilisé.

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