capatchaPHP ne s'affiche pas toujours !
Posté : 12 févr. 2013, 17:35
Bonjour , je voudrais votre aide sur un problème avec un captcha que j'ai réalisé moi même , elle marche très bien cela dis des fois l'image de captcha ne s'affiche pas , il suffit que j'actualise la page pour qu'elle s'affiche
dans mon html je l'appelle dans la src de la balise img , quelqu'un pourrait m'aider d'ou vient l'erreur et pourquoi il s'affiche pas tout le temps
Code : Tout sélectionner
// on démarre une session pour pouvoir mémoriser le code
// on définit les caractères utilisés pour le code généré
$liste = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// génére le code en piochant dans les caractères de la liste
$code = '';
while (strlen($code) != 6) {
$code .= $liste[rand(0, 36)];
}
// on mémorise le code de 6 caractères généré en session
$_SESSION['code'] = $code;
$img = imageCreate(70, 20) or die("Problème de création GD");
// Choix de la couleur de fond, ici ça donne du Gris ( RVB)
$background_color = imagecolorallocate($img, 238, 238, 238);
// Choix de la couleur de la police, ici du noir
$ecriture_color = imagecolorallocate($img, 0, 0, 0);
// le code la police utilisée
$code_police = 5;
// on créé une image jpeg en empêchant la mise en cache
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header("Content-type: image/jpeg");
// on introduit le code dans l'image
imageString($img, $code_police, (70 - imageFontWidth($code_police) * strlen("" . $code . "")) / 2, 0, $code, $ecriture_color);
// on créé une image avec une qualité médiocre de 30%
// pour éviter qu'un robot puisse la lire
imagejpeg($img, '', 30);
// on libère la mémoire
imageDestroy($img);