Maison > développement back-end > Problème PHP > Le code de vérification PHP n'affiche pas la solution

Le code de vérification PHP n'affiche pas la solution

(*-*)浩
Libérer: 2023-02-27 08:48:02
original
4341 Les gens l'ont consulté

Le code de vérification PHP n'affiche pas la solution

Solution :

1. Vérifiez si l'extension GD est installée et activée (recommandé d'apprendre : Tutoriel vidéo PHP)

2. La raison de l'en-tête de nomenclature utf-8. Utilisez Editplus ou ultraedit pour le supprimer. (https://blog.csdn.net/oscar999/article/details/6280006)

3. Problème de mise en cache dans le tampon de sortie. Avant la sortie, utilisez la fonction ob_clean pour le résoudre.

4. Avant la sortie, echo, print_r, var_dump, etc. ne peuvent pas apparaître, commenter ou supprimer pour résoudre le problème.

Le code après résolution du problème :

<?php
   
$w = 80; //设置图片宽和高
$h = 26;
$str = Array(); //用来存储随机码
$string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//随机挑选其中4个字符,也可以选择更多,注意循环的时候加上,宽度适当调整
for($i = 0;$i < 4;$i++){
   $str[$i] = $string[rand(0,35)];
   $vcode .= $str[$i];
}
session_start(); //启用超全局变量session
$_SESSION["vcode"] = $vcode;
$im = imagecreatetruecolor($w,$h);
$white = imagecolorallocate($im,255,255,255); //第一次调用设置背景色
$black = imagecolorallocate($im,0,0,0); //边框颜色
imagefilledrectangle($im,0,0,$w,$h,$white); //画一矩形填充
imagerectangle($im,0,0,$w-1,$h-1,$black); //画一矩形框
//生成雪花背景
for($i = 1;$i < 200;$i++){
   $x = mt_rand(1,$w-9);
   $y = mt_rand(1,$h-9);
   $color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
   imagechar($im,1,$x,$y,"*",$color);
}
//将验证码写入图案
for($i = 0;$i < count($str);$i++){
   $x = 13 + $i * ($w - 15)/4;
   $y = mt_rand(3,$h / 3);
   $color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225));
   imagechar($im,5,$x,$y,$str[$i],$color);
}
ob_clean();//原来的程序没有这一栏
header("Content-type:image/jpeg"); //以jpeg格式输出,注意上面不能输出任何字符,否则出错
imagejpeg($im);
imagedestroy($im);


?>
Copier après la connexion

Le résultat est le suivant :

Le code de vérification PHP naffiche pas la solution

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal