Hi
Ich denke, dass der Pfad zur Schriftadtei in der captcha/fehler.php nicht stimmt
Dieses Gefühl habe ich auch, aber ich habe jetzt schon einiges versucht. Zum Beispiel habe ich es mit absoluten Pfaden versucht usw. Aber egal wie ich die Variable $ttf auch ändere, gibt's mir in der fehler.php den wohlbekannten Fehler
Warning: imagettftext(): Could not find/open font in /home/troumfab/public_html/captcha/fehler.php on line 33
Irgendwo habe ich einen dummen Fehler...
mein captcha.php:
- Code: Alles auswählen
<?php session_start();
unset($_SESSION['captcha_spam']);
function randomString($len) {
srand(date("s"));
//Der String $possible enthält alle Zeichen, die verwendet werden sollen
$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
$str="";
while(strlen($str)<$len) {
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); //Die Zahl bestimmt die Anzahl stellen
$_SESSION['captcha_spam'] = $text;
header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = "http://www.troumfabrik.ch/captcha/XFILES.TTF"; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,30);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
Mein fehler.php
- Code: Alles auswählen
<?php session_start();
echo "<h2>Infos über das Captcha</h2>";
unset($_SESSION['captcha_spam']);
$text = rand(1000,10000); //Zufallszahl
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$_SESSION['captcha_spam'] = encrypt($text, "8h384ls94"); //Key
$_SESSION['captcha_spam'] = str_replace("=", "", $_SESSION['captcha_spam']);
echo "Zahlencode: ".$text."<br>";
echo "Session Captcha: ".$_SESSION['captcha_spam']."<br>";
$img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = "/XFILES.TTF"; //Schriftart
echo "<br>Schriftpfad: ".$ttf."<br>";
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,50);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
error_reporting(E_ALL);
echo "Image (Zeichenwirrwar):<br>";
imagepng($img);
imagedestroy($img);
?>
Hat vielleicht noch jemand einen Tipp?
Wenn ich das captcha.php direkt per Link abrufe, erhalte ich einen Server error.
http://www.troumfabrik.ch/captcha/captcha.php