Hallo, wie der Name schon sagt, ich kann kein CAPTCHA mit imagettftxt() erstellen.
Habe dieses Skript von einem bekannten, jedoch weiß auch er nicht weiter…
Es werden einfach keine Schriftzeichen auf das CAPTCHA Bild gesetzt!?!
Kann mir jemand helfen?
[PHP]<?php
############################################################
############################################################
############### Captcha v1.1 by Die Zahl ###################
############### webmaster AT studio-y.de ###################
############################################################
Beispiele; Zeichen die verwendet werden sollen:
Nur Zahlen
$possible = „0123456789“;
Nur Kleinbuchstaben
$possible = „abcdefghijklmnopqrstuvwxyz“;
Nur Grossbuchstaben
$possible = „ABCDEFGHIJKLMNOPQRSTUVWXYZ“;
Zahlen, Gross- und Kleinbuchstaben
wobei die Problematik bei 0 und o, i und L usw. umgangen worden ist
$possible = „ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789“;
############################################################
############################################################
Einbau des Script:
Vor POST: (im FORM)
Bild:
Eingabefeld:
Nach dem POST:
@session_start();
if(isset($_SESSION[‚captcha_spam‘]) AND $_POST[„cap“] == $_SESSION[‚captcha_spam‘]){
unset($_SESSION[‚captcha_spam‘]);
< hier Ihr Script welches ausgeführt wird, wenn der Captchacode richtig eingegeben wurde >
} else {
< hier Ihr Script welches ausgeführt wird, wenn der Captchacode FALSCH eingegeben wurde >
}
############################################################
############################################################
############################################################
############################################################
error_reporting(0);
@session_start();
unset($_SESSION[‚captcha_spam‘]);
function randomString($len) {
function make_seed(){
list($usec , $sec) = explode (’ ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$possible="1234567890"; ## Welche Zeichen verwendet werden
$str="";
while(strlen($str)<$len) {
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); ## Anzahl der Zeichen
$_SESSION[‚captcha_spam‘] = $text;
header('Content-type: image/png');
$bild = rand(1,6); ## Zufallshintergrundbild bsp: captcha$bild.PNG
$img = ImageCreateFromPNG(‚captcha‘.$bild.‚.PNG‘);
$color = ImageColorAllocate($img, 0, 0, 0); ## Farbe
//$ttf = $_SERVER[‚DOCUMENT_ROOT‘].„/CAPTCHA/ParryHotter.ttf“; ## Schriftart
$ttf = „ParryHotter.ttf“; ## Schriftart
$ttfsize = 35; ## Schriftgroesse
$angle = rand(0,5);
$t_x = rand(5,30); ## Zufallsposition X
$t_y = 30; ## Position Y
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?> [/PHP]Vielen Dank schonmal, Luk.