Hej
Jeg har følgt aktiklen "Captcha med gdLib" (
http://udvikleren.dk/PHP/Article.aspx/292/ ), men kommet ud for et problem, det hele virker fint med et tilfældigt billed hver gang. Problemet er at der ikke er nogle bogstaver i billedet...
Jeg har et websted hos one.com (ved ikke om det har nogen betydning?)...
her er koden:
<?php
session_start();
/* Indstillinger */
$config['width'] = 150;
$config['height'] = 50;
$config['font'] = 'verdana.ttf'; //skriftypen vi kommer til at skrive med
$config['fontsize'] = 12;
$config['wordlength'] = 5; //antal bogstaver i vores captcha
$config['characters'] = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; //de tegn der må bruges i vores tilfældige ord.
$len = strlen($config['characters']);
for ($i = 0; $i < $config['wordlength']; $i++)
{
$captcha .= substr($config['characters'], mt_rand(0, $len - 1), 1); //her genererer vi det ord der senere skal vises på billedet
}
$_SESSION['key'] = md5($captcha);
$im = imagecreate($config['width'], $config['height']);
$bg = imagecolorallocate($im,255,255,255);
for ($i = 0; $i <= 10; $i++)
{
imageline($im,mt_rand(0,$config['width']),mt_rand(0,$config['height']),mt_rand(0,$config['width']),mt_rand(0,$config['height']),imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));
}
for ($i = 1; $i < $config['wordlength'] + 1; $i++)
{
imagettftext($im,$config['fontsize'],mt_rand(-40,40),$i * 18,mt_rand(20,40),imagecolorallocate($im,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200)),$config['font'],$captcha[$i-1]);
}
header("Content-type: image/png"); //fortæller browseren at dette er et png-billede
imagepng($im); //hvorefter vi giver browseren billedet
imagedestroy($im); //fjerner billedet fra serverens hukommelse
?>
håber nogen kan hjælpe mig
Hvis der til nogen hjælp kan i se billedet her:
http://hallgren.com/Jeppe/chat/test/t.php
Indlæg senest redigeret d. 30.05.2007 18:52 af Bruger #11573