Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]captcha
slawek3422
post 2.12.2009, 11:15:55
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

Ostrzeżenie: (0%)
-----


Witam.
Znalazłem w necie skrypt, który chciałbym użyć w swoim formularzu ale nie bardzo wiem jak go użyć. Zrobiłem grafiki, captcha się generuje bez problemów ale mam problem bo w formularzu mam pole input do wpisania znaków z obrazka ale nie wiem z czym otrzymany ciąg porównać. Próbowałem wyświetlić zmienną $znak ale nie zwraca nic ...
  1. <?php
  2. header('Content-Type: image/jpeg');
  3.  
  4. $tla = glob("captcha_bcg/{*.jpg,*.jpeg}", GLOB_BRACE);
  5. $czcionki = glob("captcha_fonts/*.ttf");
  6.  
  7. $znaki = 'ABCDEFGHIJKLMNPQRSTUWXYZ123456789';
  8.  
  9. $obrazek_tla = $tla[array_rand($tla)];
  10. $liczba_znakow = rand(4, 6);
  11.  
  12. $cap = imagecreatefromjpeg($obrazek_tla);
  13.  
  14. $kolor = imagecolorallocate($cap, 250, 250, 250);
  15. $linie = imagecolorallocate($cap, 205, 205, 205);
  16.  
  17. for($x = 1; $x <= 50; $x++) // powtarzamy 50 razy - rysujemy 50 linii
  18. imageline( // funkcja rysująca linię
  19. $cap, // uchwyt obrazka
  20. 0, // współrzędna X początku linii
  21. rand(-100,imagesy($cap)+100), // współrzędna Y początku linii
  22. imagesx($cap), // współrzędna X końca linii
  23. rand(-100,imagesy($cap)+100), // współrzędna Y końca linii
  24. $linie // kolor linii
  25. );
  26.  
  27. for($x = 1; $x <= $liczba_znakow; $x++)
  28. {
  29. $czcionka = $czcionki[array_rand($czcionki)];
  30. $znak = $znaki[rand(0, strlen($znaki)-1)];
  31.  
  32. $odleglosc_miedzy_znakami = (round(imagesx($cap) / $liczba_znakow+1)-10)*($x-1)+20;
  33.  
  34. imagettftext( // funkcja pisząca tekst
  35. $cap, // uchwyt obrazka
  36. rand(20, 30), // rozmiar czcionki
  37. rand(-15, 15), // naczylenie znaku
  38. $odleglosc_miedzy_znakami, // odległość między znakami
  39. rand(40, 60), // położenie względem górnej krawędzi obrazka
  40. $kolor,
  41. $czcionka,
  42. $znak
  43. );
  44. }
  45.  
  46. imagejpeg($cap);
  47. ?>


sprawa pewnie jest banalna ... ale nie wiem jak to ruszyć

Ten post edytował slawek3422 2.12.2009, 11:16:47
Go to the top of the page
+Quote Post
darko
post 2.12.2009, 11:22:25
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wygenerowany ciąg znaków przechowujesz w zmiennej $znak, zapisz wartość tej zmiennej w sesji, jak odbierzesz dane z formularza, to odczytaj to, co przyszło i porównaj z tym, co jest w sesji.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
slawek3422
post 2.12.2009, 12:00:30
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

Ostrzeżenie: (0%)
-----


thx smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 23:22