Auch mein Bild wird nicht angezeigt

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Auch mein Bild wird nicht angezeigt

Beitragvon marka » 11.06.2007, 10:40

Pfad Fehler.php: http://www.marka-it.net/common/scripts/ ... fehler.php

Code 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 = $_SERVER['DOCUMENT_ROOT']."/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);
?>


Codeschnipsel Formular:
Code: Alles auswählen
[...]
<tr>
<td><img src="../../common/scripts/captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td>Bitte nebenstehenden Sicherheitscode eingeben:&nbsp;<input type="text" name="sicherheitscode" size="5"></td>
</tr>
[...]

Wenn ich spaßeshalber die Endung von captcha.php in captcha.png tausche, wird das Bild (natürlich leer) angezeigt, der Pfad stimmt also schonmal...
Und die Fehler.php sagt mir, wenn ich es richtig interpretiere, dass alles so weit stimmt...
GDLib installiert und aktiviert!
[...]
gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
[...]


Schon mal Vielen Dank im Voraus!!!
marka
 
Beiträge: 4
Registriert: 11.06.2007, 10:32

Beitragvon Rob [Admin] » 11.06.2007, 11:14

Hier: http://www.marka-it.net/common/scripts/ ... aptcha.php

Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/be1/05/149/00000011/htdocs/marka-it/common/scripts/captcha/captcha.php on line 27

Dein Font ist falsch verlinkt.
Rob [Admin]
Site Admin
 
Beiträge: 143
Registriert: 23.12.2006, 12:27

Beitragvon marka » 11.06.2007, 11:38

Danke schonmal für den Hinweis!

Wie muss ich den Pfad denn einbauen?

Hier der Code:
[/code]<?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 = $_SERVER['DOCUMENT_ROOT']."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);
?>
Code: Alles auswählen

Die Schrift wird ja über die Variable "$ttf" deklariert. Ich habe die Variable schon mit absolutem Pfad (www.marka-it.net/....), etc. versehen, alles ohne Erfolg. Die Schrift liegt im selben Verzeichnis, wie die Bilddatei (Captcha-Verzeichnis).
marka
 
Beiträge: 4
Registriert: 11.06.2007, 10:32

Beitragvon marka » 11.06.2007, 11:50

Danke für den Hinweis, es hatte sich ein leerzeichen an der falschen Stelle eingeschlichen...

Nun aber gibt es das nächste Problem.
Es wird korrekt erkannt, ob Code ricxhtig oder falsch, aber jedes Mal gibt es folgende Fehlermeldung:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/be1/05/149/00000011/htdocs/marka-it/common/scripts/de_mailen_neu.php:8 ) in /mnt/be1/05/149/00000011/htdocs/marka-it/common/scripts/de_mailen_neu.php on line 9
marka
 
Beiträge: 4
Registriert: 11.06.2007, 10:32

Danke, hat sich erledigt

Beitragvon marka » 11.06.2007, 13:22

Die Boardsuche kann man nur empfehlen :D
marka
 
Beiträge: 4
Registriert: 11.06.2007, 10:32


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron