Autor | Zpráva | ||
---|---|---|---|
johnl Profil |
#1 · Zasláno: 7. 1. 2010, 19:26:46 · Upravil/a: johnl
Dobrý den, vytvořil jsem si captchu
header("Content-type: image/png"); $desecurity = $_GET[code]; $znak = Base64_Decode($desecurity); $podklad = ImageCreateFromPNG("captcha.png"); $preklad = imagecreatefromPNG("captcha1.png"); $color = ImageColorAllocate($podklad, rand(0,50), rand(20,90), rand(0,255)); $color1 = ImageColorAllocate($podklad, rand(0,90), rand(40,190), rand(0,205)); $color2 = ImageColorAllocate($podklad, rand(0,50), rand(40,110), rand(0,255)); $color3 = ImageColorAllocate($podklad, rand(0,90), rand(90,180), rand(20,255)); $barva = $color; ImageTTFText($podklad, rand(25,30), rand(-10,40), 15, 40, $barva, "captcha.ttf", $znak[0]); $barva = $color1; ImageTTFText($podklad, rand(25,30), rand(-10,40), 45, 40, $barva, "captcha.ttf", $znak[1]); $barva = $color2; ImageTTFText($podklad, rand(25,30), rand(-10,40), 80, 40, $barva, "captcha.ttf", $znak[2]); $barva = $color3; ImageTTFText($podklad, rand(25,30), rand(-10,40), 115, 40, $barva, "captcha.ttf", $znak[3]); imagecopy($podklad, $podklad, 0, 0, 0, 0, 0, 0); ImagePNG($podklad); ImageDestroy($podklad); ImageDestroy($preklad); Do $_GET[code] posílám zaheslovaný text (zaheslovaný pomocí base64) např. MTczNA= Obrázek captchy zavolám pomocí <?php echo "<img src='captcha.php?code=$code' alt='Obrázek'>"; ?> Obrázek pro podklad i přelad i font existuje. Tak nevím kde může být chyba.. Problém je v tom že na žádném hostingu ani placeném ani free mi to nefunguje (zobrazí se mi pouze alt) - funguje mi to jenom na localhostu. Nevíte někdo kde může být chyba? |
||
keeehi Profil |
#2 · Zasláno: 7. 1. 2010, 19:48:55
možná:
- $_GET["code"]; - je povolená GD knihovna? |
||
t4nn3r Profil |
#3 · Zasláno: 8. 1. 2010, 07:10:17 · Upravil/a: t4nn3r
no ja by sem vam doporucil pouzivat reCaptcha. Ta funguje pomoci Iframe a jeji funkcnost je tim zarucena na vsem a jeji pouziti je trivialni. Odkaz.
jinak jak psal [#2] keeehi, code musi byt v '," , navic s temito knihovnami jsou problemy (hlavne na free hostingu, kde se s clovekem nejak moc nebavi...) |
||
Alphard Profil |
#4 · Zasláno: 8. 1. 2010, 22:16:15
johnl:
Pro účely ladění si vypište přímo obrázek a zakomentujte png hlavičku. PHP vám chybu vypíše samo. |
||
ONdra28 Profil |
#5 · Zasláno: 9. 1. 2010, 13:03:26
Tenhle problém sem řešil taky..problém byl v udání cesty fontu..zkus to takhle :
ImageTTFText($podklad, rand(25,30), rand(-10,40), 15, 40, $barva, "./captcha.ttf", $znak[0]); |
||
Časová prodleva: 14 let
|
0