formularz w pliku message.tpl a w nim linijka:
<img src="lib/core/class.CaptchaSecurityImages.php" />
za działanie formularza odpowiada plik message.php, w którym jest odpowiednia regułka porównująca kod captcha z sesji i kod wpisany w formularzu.
problem jest tego typu, że niby wszystko działa ale kiedy wywołam
w pliku message.php to otrzymuję zupełnie co innego niż jest ustawiane w class.CaptchaSecurityImages.php , no chyba,ze w ogóle tam nic nie ustawia, ale w takim razie powinna nie działać captcha a działa . Ponizej kod class.CaptchaSecurityImages.php :
function generateCode($characters) { /* list all possible characters, similar looking characters and vowels have been removed */ $possible = '23456789'; //$possible = '23456789bcdfghjkmnpqrstvwxyz'; $code = ''; $i = 0; while ($i < $characters) { $i++; } return $code; } function CaptchaSecurityImages($width='120',$height='40',$characters='6') { $font = $_SERVER["DOCUMENT_ROOT"].'/lib/fonts/monofont.ttf'; /* font size will be 75% of the image height */ $_SESSION['security_code'] = generateCode(6); $font_size = $height * 0.75; /* set the colours */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 20, 40, 100); $noise_color = imagecolorallocate($image, 100, 120, 180); /* generate random dots in background */ for( $i=0; $i<($width*$height)/3; $i++ ) { } /* generate random lines in background */ for( $i=0; $i<($width*$height)/150; $i++ ) { } /* create textbox and add text */ $textbox = imagettfbbox($font_size, 0, $font, $_SESSION['security_code']) or die('Error in imagettfbbox function'); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $_SESSION['security_code']) or die('Error in imagettftext function'); /* output captcha image to browser */ imagejpeg($image); imagedestroy($image); } CaptchaSecurityImages(120,40,6);
Co robię nie tak?
i co?? nikt nie pomoże?