Besoin d'aide pour captcha

Avatar du membre
Eléphanteau du PHP | 36 Messages

02 avr. 2022, 15:39

Bonjour,

Voila je voudrai utiliser un captcha maison en plus de celui de google avec un paramètre pour switch au cas où il y ai une update de recaptcha.

j'ai jamais fait de création d'image en PHP et donc je sais pas pourquoi mon captcha ne s'affiche pas, la console du navigateur me dit que l'image a un problème mais en session le code est bien présent, ici je fais mes teste sous wamp en php 7.1.33

En vous remerciant bonne journée !
/******
*captcha
******/	
session_start();
define('URI' , dirname(dirname(__FILE__)));
$_SESSION['captcha'] = mt_rand(1000, 9999);
$img = imagecreate(65,30);
$font = 'police.ttf';

$bg = imagecolorallocate($img,255,255,255);
$textcolor = imagecolorallocate($img, 0,0,0);

imagettftext($img,23,0,3,30, $textcolor, $font,$_SESSION['captcha']);

header('Content-type:image/jpeg');
imagejpeg($img);
imagedestroy($img);

Mammouth du PHP | 2703 Messages

02 avr. 2022, 16:07

possible qu'il y ai des caractères imprévus (un retour à la ligne par exemple) avant le code de l'image ce qui fait que l'image est corrompue.
ouvrir le fichier généré dans un éditeur de texte permet de s'en rendre compte.

Avatar du membre
Eléphanteau du PHP | 36 Messages

04 avr. 2022, 18:37

possible qu'il y ai des caractères imprévus (un retour à la ligne par exemple) avant le code de l'image ce qui fait que l'image est corrompue.
ouvrir le fichier généré dans un éditeur de texte permet de s'en rendre compte.
Bonjour,

Je ne ferme jamais la balise php en fin de document si tu parle des header,

J'ai essayer en php version 8 et ça fonctionne sauf que mon app est prévue pour fonctionner sur la version 7 parce que j'utilise un parser et htmlpurifier qui est déprécié en php 8, d’ailleurs en php 5 ça fonctionne aussi !

Donc ça reste un bug illogique pour moi, su tu fais des teste je pense que ça sera pareil pour toi ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 avr. 2022, 08:40

ouvrir le fichier généré dans un éditeur de texte permet de s'en rendre compte.
+1


Ou sinon met en commentaire ta ligne header() pour voir si un message d'erreur ne s'afficherait pas à la place ou avant le code de ton image.
Quand tout le reste a échoué, lisez le mode d'emploi...