Witam wymodziłem prosty generator kodu captcha:
<?php
/* START GENERATOR CAPTCHA */
function captchaGenerator() {
$sAplhaNum = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0123456789';
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header('Content-type: image/png');
$image = imagecreatetruecolor(60, 30);
$white = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, 120, 40, $white);
$greylight = imagecolorallocate($image, 199, 199, 199);
$black = imagecolorallocate($image, 0, 0, 0);
imagestring ($image, 5, 8, 4, $sRand2, $greylight);
imagestring ($image, 5, 12, 5, $_SESSION['captcha'], $black);
imagepng($image);
imagedestroy($image);
}
captchaGenerator();
/* END GENERATOR CAPTCHA */
?>
Jednak przy pierwszym wyświetleniu na stronie zmienna sesyjna nie istnieje, a obrazek jest wyświetlany. Każde kolejne wyświetlenie zmienna sesyjna pokazuje n-1 kod obrazka gdzie n to aktualny kod obrazka. W czym tkwi problem?