captcha bild wird nicht erzeugt

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

captcha bild wird nicht erzeugt

Postby nieselfriem » 28. June 2008 16:08

hallo ich habe folgednes problem. ich habe ein kleines captcha script. dieses funzt ohne probleme auf anderen servern nur auf xammp nicht.
Das heißt es wird einfach das bild nicht erzeugt. Obwohl alles Bibliotheken (GD) isnatlliert sind. ICh habe also an der Standartkonfig von Xammp nichts geändert.


hier der code
captcha.php
Code: Select all
<?php
   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()); 
      //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']."/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);
?>


index.php
Code: Select all

<?session_start()?>
<html>
<head><title>sicherheit</title></head>
<body>

<?php
$submit=$_POST['submit'];
if ($submit)
{
#echo $_POST["sicherheitscode"];
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

echo "ok!";

}else{
   die ("Der Sicherheitscode ist falsch!");
}
}

?>
<form method="post" action="index.php">
<tr>
<td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td><input type="text" name="sicherheitscode" size="5"></td>
<td><input type="submit" name="submit" value="abschicken"></td>
</tr>
</form>
</body>
</html>


gruß niesel
nieselfriem
 
Posts: 8
Joined: 03. August 2005 18:12

Postby MadIQ » 01. July 2008 15:28

HI,

wenn ich mir deine Codes so durchlese stelle ich fest:
a) deine "captcha.php" wird nirgendwo aufgerufen
b) in deiner index.php wird das captca-img garnicht angezeigt.

ich denke du musst deine index.php um diese Zeile ergänzen
Code: Select all
<img src="captcha.php">

wobei du eventuell aus der captcha.php die zeile "session-start()" entfernen müsstest.

ich frage mich, wieso es auf anderen servern funktioniert haben soll
MadIQ
 
Posts: 2
Joined: 01. July 2008 14:46

Postby Xardas der Dunkle » 01. July 2008 17:21

@MadIQ
<td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>


steht doch da, ...
Und das session_start() muss auch nicht entfernt werden.

@nieselfriem
Was passiert wenn du die Captcha.php mal direkt aufrufst?
Ich tippe mal darauf das der Pfad:
$ttf = $_SERVER['DOCUMENT_ROOT']."/captcha/XFILES.TTF"; //Schriftart

nicht stimmt.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 28 guests