<?php $znaki = 'ABCDEFGHIJKLMNPQRSTUWXYZ123456789'; // dozwolone znaki $szerokosc = 120; // szerokość obrazka $wysokosc = 30; // wysokość obrazka $ilosc_znakow = 6; // długość captchy $str = ''; // zmienna pomocnicza // losowanie ciągu znkaów for ($i = 0; $i < $ilosc_znakow; $i++) $string = $str; $_SESSION['captcha'] = $string; // przypisanie do zmiennej sesyjnej // tworzenie obrazka o danych wymiarach $im = imagecreate($szerokosc, $wysokosc); //kolory obrazka $tlo = imagecolorallocate($im,0,0,0); $czcionka = imagecolorallocate($im,255,255,255); $siatka = imagecolorallocate($im,78,78,78); $ramka = imagecolorallocate ($im, 255, 0, 0); imagefill($im,1,1,$tlo); // wypełnienie tłem // losowanie siatki for($i=0; $i<1600; $i++) { imageline($im, $rand1, $rand2, $rand1, $rand2, $siatka); } // losowanie pozycji znaków // dodawanie obramowania imagerectangle($im, 0, 0, $szerokosc-1, $wysokosc-1, $ramka); // umieszczanie liter na obrazku for($a=0; $a < 7; $a++) { $x += (5*3); // odstęp między literami } // zwrócenie wygenerowanego obrazka, ustawienie typu mime na GIF imagegif($im); imagedestroy($im); ?>
A tak go dodaje na strone:
<?php ?> <img src="/captcha.php" />
To jest jedyne captcha jakie działa mi. Wszystkie inne wywalały znajomy error z błędem obrazka.