<?php /* captcha_image.php */ /* Długość hasła */ $pass_length = 4; /* Wymiary obrazu */ $width = 200; $height = 60; /* Ścieżka do czcionki TTF */ /* Tworzy hasło. */ $passwd = ""; $i = 0; while ($i < $pass_length) { $i++; } /* Składuje hasło. */ $_SESSION["tt_pass"] = $passwd; /* Uzyskuje listę dostępnych czcionek. */ /* Poszukuje czcionek TTF. */ $fonts[] = $font_path . '/' . $file; } } } } /* Nagłówek obrazu: */ /* Nagłówki przeciwdziałające składowaniu obrazu w pamięci podręcznej: */ /* Tworzy obraz. */ $img = imagecreatetruecolor($width, $height); /* Wypełnia tło losowym odcieniem pastelowym. */ imagefilledrectangle($img, 0,0, $width, $height, $bg); /* Komplikuje tło obrazu, uzupełniając je o różnokolorowe, czworokątne figury. */ /* Tworzy linie grubości od 10 do 30 pikseli rozciągające się na całym obrazie. */ $left = 0; while ($left < $width) { $left, 0, /* Lewy, górny narożnik */ $right, 0, /* Prawy, górny narożnik */ /* Tworzy wielokąt, wykorzystując losowe punkty składowane w tablicy. */ imagefilledpolygon($img, $poly_points, 4, $c); /* Zbliża się do prawej krawędzi. */ $left += $random_amount; $right += $random_amount; } /* Wybiera podstawowy przedział wartości kolorów dla pionowych i poziomych linii. */ /* Rysuje przypadkowe, pionowe linie na całej szerokości obrazu. */ $left = 0; while ($left < $width) { $left, 0, /* Lewy, górny narożnik */ $right, 0, /* Prawy, górny narożnik */ $right + $offset, $height, /* Prawy, dolny narożnik */ $left + $offset, $height); /* Lewy, dolny narożnik */ imagefilledpolygon($img, $line_points, 4, $pc); /* Zbliża się do prawej krawędzi. */ } /* Rysuje przypadkowe, poziome linie na całej wysokości obrazu. */ $top = 0; while ($top < $height) { 0, $top, /* Lewy, górny narożnik */ 0, $bottom, /* Lewy, dolny narożnik */ $width, $bottom + $offset, /* Prawy, dolny narożnik */ $width, $top + $offset); /* Prawy, górny narożnik */ imagefilledpolygon($img, $line_points, 4, $pc); } /* Określa odległość dzielącą znaki. */ /* Początkowa współrzędna pozioma */ $x = $spacing; /* Rysuje poszczególne znaki. */ $letter = $passwd[$i]; /* Losowa współrzędna pionowa z przestrzenią na wyższe znaki */ /* Wybiera losową czcionką. */ /* Wybiera kolor dla danej litery. */ /* Tworzy kolory samej litery i jej cienia. */ $color = imagecolorallocate($img, $r, $g, $b); $shadow = imagecolorallocate($img, $r/3, $g/3, $b/3); /* Rysuje kolejno cień litery i samą literę. */ imagettftext($img, $size, $rotation, $x, $y, $shadow, $font, $letter); imagettftext($img, $size, $rotation, $x-1, $y-3, $color, $font, $letter); /* Przechodzi do kolejnej pozycji na danej kanwie. */ } imagejpeg($img); /* Wysyła gotowy obraz. */ imagedestroy($img); /* Zwalnia pamięć obrazu. */ ?>
oraz taki
<?php /* Analizujemy otrzymane hasło. */ if ($_REQUEST["tt_pass"]) { if ($_REQUEST["tt_pass"] == $_SESSION["tt_pass"]) { } else { } } /* Domyślnie wysyłamy formularz w tej formie. */ ?> Aby kontynuować, wpisz następujące litery:<br /> (Jeśli wyświetlone litery są nieczytelne, odśwież tę stronę)<br /> <img src="captcha.BMP"><br /><br /> Litery: <input name="tt_pass" type="text" size="10" maxlength="10"> <input type="submit"> </form>
jak uruchamiam pierwszy plik to obrazek się generuje, ale jak zrobić, aby był wyświetlany w tym formularzu
