Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie działające prawidłowo captcha
michal16202
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.05.2014

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


Witam, znalazłem na internecie taki skrypt do captchy ale nie działa prawidłowo, co innego generuje a co innego przekazuje o zmiennej sesyjnej.
  1. <?php
  2. $znaki = 'ABCDEFGHIJKLMNPQRSTUWXYZ123456789'; // dozwolone znaki
  3. $szerokosc = 120; // szerokość obrazka
  4. $wysokosc = 30; // wysokość obrazka
  5. $ilosc_znakow = 6; // długość captchy
  6. $str = ''; // zmienna pomocnicza
  7.  
  8. // losowanie ciągu znkaów
  9. for ($i = 0; $i < $ilosc_znakow; $i++)
  10. $str .= substr($znaki, mt_rand(0, strlen($znaki) -1), 1);
  11.  
  12. $string = $str;
  13. $_SESSION['captcha'] = $string; // przypisanie do zmiennej sesyjnej
  14.  
  15. // tworzenie obrazka o danych wymiarach
  16. $im = imagecreate($szerokosc, $wysokosc);
  17.  
  18. //kolory obrazka
  19. $tlo = imagecolorallocate($im,0,0,0);
  20. $czcionka = imagecolorallocate($im,255,255,255);
  21. $siatka = imagecolorallocate($im,78,78,78);
  22. $ramka = imagecolorallocate ($im, 255, 0, 0);
  23.  
  24. imagefill($im,1,1,$tlo); // wypełnienie tłem
  25.  
  26. // losowanie siatki
  27. for($i=0; $i<1600; $i++)
  28. {
  29. $rand1 = rand(0,$szerokosc);
  30. $rand2 = rand(0,$wysokosc);
  31. imageline($im, $rand1, $rand2, $rand1, $rand2, $siatka);
  32. }
  33.  
  34. // losowanie pozycji znaków
  35. $x = rand(5, $szerokosc/(7/2));
  36.  
  37. // dodawanie obramowania
  38. imagerectangle($im, 0, 0, $szerokosc-1, $wysokosc-1, $ramka);
  39.  
  40. // umieszczanie liter na obrazku
  41. for($a=0; $a < 7; $a++)
  42. {
  43. imagestring($im, 6, $x, rand(4 , $wysokosc/5), substr($string, $a, 1), $czcionka);
  44. $x += (5*3); // odstęp między literami
  45. }
  46.  
  47. // zwrócenie wygenerowanego obrazka, ustawienie typu mime na GIF
  48. header("Content-type: image/gif");
  49. imagegif($im);
  50. imagedestroy($im);
  51.  
  52. ?>


A tak go dodaje na strone:
  1. <?php
  2. echo $_SESSION['captcha'];
  3. ?>
  4. <img src="/captcha.php" />


To jest jedyne captcha jakie działa mi. Wszystkie inne wywalały znajomy error z błędem obrazka.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 11:19