Autor | Zpráva | ||
---|---|---|---|
Mixsak Profil |
#1 · Zasláno: 14. 5. 2010, 13:44:14
Dobrý den, mám roblém s captcha.
<?php session_start(); class CaptchaSecurityImages { var $font = 'arial.ttf'; function generateCode($characters) { /* list all possible characters, similar looking characters and vowels have been removed */ $possible = 'abcdefghijklmnopqrstuvwxyz'; $code = ''; $i = 0; while ($i < $characters) { $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1); $i++; } return $code; } ////////////////////Thanks for http://www.white-hat-web-design.co.uk///////////////////////////// function CaptchaSecurityImages($width='70',$height='20',$characters='5') { $code = $this->generateCode($characters); /* font size will be 60% of the image height */ $font_size = $height * 0.6; $image = imagecreate($width, $height); /* set the colours */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 20, 40, 100); $noise_color = imagecolorallocate($image, 100, 120, 180); /* create textbox and add text */ $textbox = imagettfbbox($font_size, 0, $this->font, $code); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code); /* output captcha image to browser */ header('Content-Type: image/jpeg'); imagejpeg($image); imagedestroy($image); $_SESSION['vcode'] = $code; } } $width = isset($_GET['width']) && $_GET['width'] < 600 ? $_GET['width'] : '70'; $height = isset($_GET['height']) && $_GET['height'] < 200 ? $_GET['height'] : '20'; $characters = isset($_GET['characters']) && $_GET['characters'] > 4 ? $_GET['characters'] : '5'; $captcha = new CaptchaSecurityImages($width,$height,$characters); ?> A hází mi to tuto chybu: Fatal error: Call to undefined function: imagecreate() in /home/ftponly/usr/fwitpekc/web/comments/captcha.php on line 23 Nemoh byste mi někdo poradit? |
||
Beavis Profil |
#2 · Zasláno: 14. 5. 2010, 14:06:18
Mixsak:
Jakou máte verzi PHP / Apache? Popřípadě použít jinou fci, viz manuál. |
||
mckay Profil |
#3 · Zasláno: 14. 5. 2010, 15:01:32
Mixsak:
Funkce imagecreate(); funguje pouze v php4 a php5 pořiďte si vyšší verzi, než máte. |
||
Mixsak Profil |
#4 · Zasláno: 14. 5. 2010, 15:04:48
Mám jen php. Šlo by to nějka udělat aby to šlo v php?
|
||
Kajman_ Profil * |
#5 · Zasláno: 14. 5. 2010, 15:17:47
Je potřeba v php povolit rozšíření gd.
|
||
Mixsak Profil |
#6 · Zasláno: 14. 5. 2010, 15:22:27
Jak? Jsem začátečník a vůbec o tom nic nevím tak omluvte ty hloupý otázky.
|
||
Kajman_ Profil * |
#7 · Zasláno: 14. 5. 2010, 15:30:21
Zkuste najít soubor php.ini a v něm řádek
#extension=php_gd2.dll A umazat tu mřížku na začátkku. |
||
Mixsak Profil |
#8 · Zasláno: 14. 5. 2010, 15:36:20 · Upravil/a: Mixsak
Jsem začátečník a vůbec o tom nic nevím, tak omluvte ty hloupý otázky.
Nechápu |
||
denCo Profil |
#9 · Zasláno: 14. 5. 2010, 15:37:32
máte nainštalované PHP na domácom PC alebo na webhostingu?
|
||
Mixsak Profil |
#10 · Zasláno: 14. 5. 2010, 16:32:50
Na webhostingu
|
||
Davex Profil |
#11 · Zasláno: 16. 5. 2010, 21:02:31
Zkus vyměnit funkci na řádku č. 23 za
$image = imagecreatetruecolor($width, $height); Pak ještě bude potřeba vyplnit barvu pozadí přidáním kódu na řádek č. 28: imagefill($image, 0, 0, $background_color); |
||
Časová prodleva: 14 let
|
0