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 :
Jetez d'abord un œil à l'effet obtenu : (apprentissage recommandé : Tutoriel vidéo 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='';//存储验证码 //随机选取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 = 'abcdefghijklmnopqrstuvwxyz1234567890'; //数据字典 $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['code']=$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('content-type:image.png'); 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('captcha_img').src='captcha.php?r='+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!