Générez un code de vérification via php, puis affichez-le avec la balise img.
Excusez-moi, s'il y a session_start(), pourquoi l'événement onclick est-il écrit ainsi, et cliquer aura pour effet de rafraîchir le code de vérification ? (Un nouveau code de vérification apparaîtra)
Il n'y a pas de session et le clic n'est pas valide.
code html
<img src="verifyCode.php" onclick="this.src='verifyCode.php'"/>
php
//省略验证码生成代码...
imagepng($image);//输出图片
session_start();//开始会话
onclick="this.src='verifyCode.php?id='+Math_random()"/>
Cela devrait suffire. Ajoutez un nombre aléatoire à l'image, elle sera différente à chaque fois et vous pourrez la rafraîchir
Ce code est-il session_start() avant la création de l'image ?
Si c'était le cas auparavant, généralement lors de la création du canevas, vous devez injecter des informations de vérification dans $_SESSION. L'injection peut échouer car la session n'est pas ouverte et la production des images de code de vérification sera terminée.
Utilisez la session pour vérifier le code de vérification graphique. Le principe général est d'abord de stocker le code de vérification actuel a dans la session, puis d'utiliser a pour générer le code de vérification graphique et le renvoyer au client. Le client saisit le code de vérification a sur le serveur, et le serveur le vérifie en fonction des données stockées dans la session en cours.
Si vous utilisez cette méthode et que la session n'est pas activée, vous ne pourrez pas stocker et remplacer le code de vérification a dans la session, et bien sûr une erreur se produira.
(Remarque : la sortie de l'image n'a rien à voir avec l'activation de la session)