Titre : Résolvez le problème selon lequel le code de vérification PHP ne peut pas être affiché lorsqu'il est collé
Le code de vérification est une méthode de vérification de sécurité couramment utilisée sur les sites Web. Il peut empêcher efficacement les attaques malveillantes lorsque les utilisateurs soumettent des formulaires ou effectuent des opérations de connexion. Cependant, parfois, lorsque vous utilisez PHP pour générer un code de vérification, celui-ci peut ne pas s'afficher une fois collé, ce qui entraîne des désagréments pour l'expérience utilisateur. Cet article explique comment résoudre le problème selon lequel le code de vérification PHP ne peut pas être affiché une fois collé et fournit des exemples de code spécifiques.
1. Analyse du problème
Lorsque vous utilisez PHP pour générer des codes de vérification sur une page Web, la bibliothèque GD ou d'autres fonctions associées sont généralement utilisées pour générer des images de code de vérification. Cependant, dans certains cas, lorsque les utilisateurs collent le code de vérification dans la zone de saisie du code de vérification, ils peuvent rencontrer le problème que le code de vérification ne peut pas être affiché, car le contenu collé n'est pas correctement reconnu comme une image.
2. Solution
Afin de résoudre ce problème, nous pouvons afficher le contenu textuel du code de vérification sur la page tout en générant l'image du code de vérification. De cette façon, même si l’utilisateur ne peut pas afficher l’image correctement, il peut toujours la vérifier par le texte. Voici un exemple de code spécifique :
<?php session_start(); $width = 120; $height = 40; $length = 4; $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $code = ''; for ($i = 0; $i < $length; $i++) { $code .= $str[rand(0, strlen($str) - 1)]; } $_SESSION['captcha'] = $code; $image = imagecreatetruecolor($width, $height); $bg_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $bg_color); imagettftext($image, 20, 0, 10, 30, $text_color, 'arial.ttf', $code); header('Content-type: image/png'); imagepng($image); imagedestroy($image);
Dans le code ci-dessus, un code de vérification aléatoire contenant des caractères majuscules et minuscules et des chiffres est d'abord généré, puis stocké au format $_SESSION['captcha']
中。同时,利用 GD 库生成验证码图片,将验证码文本写入图片。然后将验证码图片以 image/png
et affiché sur la page.
3. Affichage de la page
Sur la page HTML, l'image du code de vérification et le texte du code de vérification peuvent être affichés à l'utilisateur en même temps, comme indiqué ci-dessous :
<form action="verify.php" method="post"> <img src="captcha.php" alt="captcha" /> <input type="text" name="captcha" /> <input type="submit" value="Submit" /> </form>
Dans ce formulaire, l'utilisateur peut voir le code de vérification. image et zone de saisie, soumettez le formulaire pour vérification après avoir entré le code de vérification. Même si l'utilisateur ne peut pas afficher normalement l'image du code de vérification, il peut toujours vérifier l'entrée via le texte du code de vérification.
En résumé, en affichant le texte du code de vérification tout en générant l'image du code de vérification, le problème selon lequel le code de vérification PHP ne peut pas être affiché lorsqu'il est collé peut être résolu et l'expérience utilisateur peut être améliorée.
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!