tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
207
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Headymaster
    Headymaster Headymaster ist offline Mitglied Platin
    Registriert seit
    Dec 2005
    Ort
    Pinneberg
    Beiträge
    516
    Hallo,

    bin grad dabei, mir eine Captcha-Klasse zu schreiben, nur habe ich noch ein paar Probleme mit dem Erstellen des Captcha Bildes.

    Und zwar bekomme ich immer den Fehler:
    Code :
    1
    
    Die Grafik "http://localhost/workspace/NilsonCMS/contact/captcha" kann nicht angezeigt werden, weil sie Fehler enthält.

    Erstellen tu ich die Datei so:
    PHP-Code:
    // Das Cachen der Grafik verhindern
            
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
            
    header('Last-Modified:'.gmdate('D, d M Y H:i:s').' GMT');
            
    header('Cache-Control: no-store, no-cache, must-revalidate');
            
    header('Cache-Control: post-check=0, pre-check=0'false);
            
    header('Pragma: no-cache');
            
            
    // Browser mitteilen, dass ein Bild ausgegeben wird
            
    header('Content-type: image/png');
            
            
    // fonts
            
    $fontpath APP_ROOT.'images'.DIRECTORY_SEPARATOR.'fonts'.DIRECTORY_SEPARATOR;
            
    $Schriftarten = array($fontpath.'zacharyf'$fontpath.'mtcorsvaf'$fontpath.'gilliganf');
            
            
    $pic imagecreatefrompng($fontpath.'hintergrund.png');
            
    $color1 imagecolorallocate($pic0125);
            
    $color2 imagecolorallocate($pic1307090 );
            
    $color3 imagecolorallocate($pic18090190 );
            
    imagettftext($pic1215324$color1$Schriftarten[0], substr($this->_code02));
            
    imagettftext($pic1602615$color2$Schriftarten[1], substr($this->_code22));
            
    imagettftext($pic14, -205318$color3$Schriftarten[2], substr($this->_code42));
            
            
    // Bild ausgeben
            
    imagepng($pic);
            
    imagedestroy($pic); 
    Ich weiß einbfach nicht wo der Fehler liegen könnte, habe auch noch nie was mit der gd2 lib gemacht

    Würde mich über Hilfe freun.

    MFG Nilson
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Kommentiere mal die header()-Anweisungen aus und ruf das Skript direkt auf.
     
    Markus Wulftange

  3. #3
    Avatar von Headymaster
    Headymaster Headymaster ist offline Mitglied Platin
    Registriert seit
    Dec 2005
    Ort
    Pinneberg
    Beiträge
    516
    Hmm, also dann bekomme ich nur ein Zeichenkauderwelsch beginnend mit
    Code :
    1
    
    ‰PNG  ��� IHDR���P������)$>

    MFG Nilson
     

  4. #4
    nepda nepda ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Chemnitz
    Beiträge
    144
    Hast du die error_reporting()-Funktion in Benutzung? und zur Not kommentiere mal imagepng($pic) aus.
     

  5. #5
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    Versuchs mal zu Testzwecken mit einem anderen Bildtyp, also z.B. Mimetype image/jpeg und entsprechend imagejpg($pic).
     

  6. #6
    Avatar von Headymaster
    Headymaster Headymaster ist offline Mitglied Platin
    Registriert seit
    Dec 2005
    Ort
    Pinneberg
    Beiträge
    516
    Jop,

    also Error_Reporting ist gesetzt:
    PHP-Code:
    error_reporting(E_ALL|E_STRICT); 
    Wenn ich imagepng($pic) auskommentiere und die Header wieder einkommentiere, dann bekomme ich immer noch den gleichen Fehler, wenn ich aber die Header weglasse, bekomme ich nen weißes Browserfenster....

    MFG Nilson
     

  7. #7
    Avatar von SCIPIO-AEMILIANUS
    SCIPIO-AEMILIANUS SCIPIO-AEMILIANUS ist offline aka DonMahallem
    Registriert seit
    Mar 2007
    Ort
    Saxonburg(Pa)
    Beiträge
    375
    Ich weiß es jetzt nicht 100%tig, aber wenn ich mit Captchas arbeite, dann häng ich zumindest noch die Datei Endung der Fontfiles an, und da gabs noch nie Probleme:
    PHP-Code:
    $Schriftarten = array($fontpath.'zacharyff'$fontpath.'mtcorsvaff'$fontpath.'gilliganff'); 
     
    MFG Scipio
    Ein Danke für hilfreiche Antworten ist gern gesehen.

  8. #8
    Avatar von Headymaster
    Headymaster Headymaster ist offline Mitglied Platin
    Registriert seit
    Dec 2005
    Ort
    Pinneberg
    Beiträge
    516
    Hehe joa die sollten da auch eigentlich sein, bei mir in der PHP-Datei sind sie auch vorhanden, sind wohl beim Copy & paste nicht übernommen oder rausgefiltert worden oder so...

    Aber die sind vorhanden, daran liegt es nicht.

    MFG Nilson
     

  9. #9
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wird davor schon etwas ausgegeben (sei es auch nur ein Leer- oder Zeilenumbruchzeichen)?
     
    Markus Wulftange

  10. #10
    Avatar von Headymaster
    Headymaster Headymaster ist offline Mitglied Platin
    Registriert seit
    Dec 2005
    Ort
    Pinneberg
    Beiträge
    516
    Jasuper das wars.
    Ich schussel habe meine Navigation gerendert bevor ich die Logik in meinem Controller ausführe.
    Somit kann ich dann in meinem Controller auch das Rendern ausschalten und es wird trotzdem die navigation gerendert

    Manchmal sieht man den Wald vor lauter Bäumen nicht xD

    Danke nochmal

    MFG Nilson
     

Ähnliche Themen

  1. CAPTCHA Problem
    Von walle_89 im Forum PHP
    Antworten: 10
    Letzter Beitrag: 08.03.09, 21:07
  2. Captcha problem
    Von BigR16 im Forum PHP
    Antworten: 11
    Letzter Beitrag: 14.01.09, 09:58
  3. Captcha - Problem
    Von ava99 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 17.04.08, 15:48
  4. Captcha Problem
    Von Geordi im Forum PHP
    Antworten: 1
    Letzter Beitrag: 27.12.07, 21:42
  5. Captcha Problem
    Von d2mike im Forum PHP
    Antworten: 2
    Letzter Beitrag: 09.01.07, 12:12