captcha.php:
PHP
<?php
Header ("Content-type: image/png");
error_reporting(E_ALL);
function captcha($text){
include("settings.php");
$bild = imagecreate($breite, $hoehe);
imagecolorallocate($bild, $bgr, $bgg, $bgb);
if(trim($text) == ''){
echo "Kein Text eingegeben!";
exit;
}
$textfarbe = imagecolorallocate($bild,$sr,$sg,$sb);
if(!is_Int($textfarbe)){
echo "Schriftfarbe ist nicht initialisiert!";
exit;
}
$c = round(($breite-20)/strlen($text));
// Text schreiben
for($i=0; $i<strlen($text); $i++){
$fontsize = $c+rand(1,6);
$winkel = -10+rand(0,20);
$x = 10+$i*$c;
$y = 10+$fontsize+rand(0,$hoehe-10-$fontsize);
ImageTTFText ($bild,$fontsize,$winkel,$x,$y,$textfarbe,'fonts/arial.ttf',$text{$i});
}
// Störelemente
// Linien
for($i=0; $i < $line; $i++){
$x_begin = rand(0,$breite);
$x_end = rand(0,$breite);
$y_begin = rand(0,$hoehe);
$y_end = rand(0,$hoehe);
for($k=0; $k < 3; $k++){
imageline($bild, $x_begin, $y_begin, $x_end, $y_end, imagecolorallocate(rand(0,255),rand(0,255),rand(0,255)));
}
}
ImagePng($bild);
}
$text = 'hallo';
captcha($text);
?>
Alles anzeigen
settings.php:
PHP
<?php
$breite = 400;
$hoehe = 100;
$bgr = 200;
$bgg = 200;
$bgb = 200;
$sr = 0;
$sg = 0;
$sb = 0;
$line = 10;
?>
Alles anzeigen
Ich bekomme keinen fehler angezeigt, sondern nur den Hinweis: die Grafik .... kann nicht angezeigt werden, weil sie fehler enthält.
Aber wo ist hier der fehler? Ich hab mir das alles schon 1000 mal durchgelesen, aber finde ihn einfach nicht.
hoffe ihr könnt mir helfen.