tinu: Imageausgabe bei Zufallscode-Generierung klappt nicht

Hai allerseits!

Ich hab versucht einen kleinen Generator zu basteln, welcher einen sechsstelligen Code ausspuckt und zwar in form eines Bildes (zu Beginn ein ganz simples einfarbiges Hintergrundbild mit dem entsprechenden Zufallscode darauf). Mein Code ist folgendermassen:

  
//Spamcode generieren  
 function getcode() {  
     $newcode = "";  
     $laenge=6;  
     $string="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789"; //0,O und o sind aufgrund ihrer Ähnlichkeit nicht eingeschlossen  
  
     mt_srand(microtime()*1000000);  
  
     for ($i=1; $i <= $laenge; $i++) {  
         $newpass .= substr($string, mt_rand(0,strlen($string)-1), 1);  
     }  
     return $newcode;  
 }  
 $code = getcode();  
  
 //Spamcodebild erstellen  
 $image = imagecreatetruecolor(100,40);  
 $textcolor = imagecolorallocate($image, 88, 148, 88);  
 $font = 2;  
 imagestring($image, $font, 5, 5, $code, $textcolor);  
 imagepng($image);  
 imagedestroy($image);  

Die Generierung des Codes klappt einwandfrei, aber die des Bildes nicht. Anstelle des Bildes wird nur eine lange Kette von Sonderzeichen ausgegeben. Was mach ich denn falsch?!

Von wegen "php ist einfach zu lernen"... ich bekomm noch ne Krise (und das bei nem jämmerlichen Gästebuch-Projekt. *grmpf*
tinu

  1. //Spamcode generieren
    //Spamcodebild erstellen

    Die Generierung des Codes klappt einwandfrei, aber die des Bildes nicht. Anstelle des Bildes wird nur eine lange Kette von Sonderzeichen ausgegeben. Was mach ich denn falsch?!

    Von wegen "php ist einfach zu lernen"... ich bekomm noch ne Krise (und das bei nem jämmerlichen Gästebuch-Projekt. *grmpf*

    Was versprichst du dir von Captchas.
    Was hast du unternommen, um dich vom Sinn von Captchas zu überzeugen?

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
       <°)))o><                      ><o(((°>o
    1. Was versprichst du dir von Captchas.
      Was hast du unternommen, um dich vom Sinn von Captchas zu überzeugen?

      Hi Beat

      Auf meiner alten Homepage (gibts nicht mehr), war ein E-Mail-Kontaktformular. Als mit dem Lauf der Zeit immer mehr unsinnige Werbeeinträge und sonstiger Spam ins Formular eingetragen wurde (ich schätze mal von irgendwelchen Bots), hab ich mir ein Captcha (fertiger Code) reinkopiert und voilà schon waren die nervigen Einträge weg. Ich weiss, dass es mittlerweile auch Bots gibt, welche Captchas problemlos lesen können. Aber die meisten Bots beinhalten das nicht. Also hat man zwar nicht keinen vollständigen Schutz gegen Spameinträge, aber immerhin gegen die von 0815 Spambots, die kein Captcha auslesen. Kurz gesagt: Ich verspreche mir von Captcha weniger Spam als ohne Captcha.

      Zweitens gehts hauptsächlich darum, dass ich versuch PHP zu lernen/anzuwenden. Dazu gehört meiner Meinung nach halt auch sowas. Nicht das Captcha an sich, sondern herauszutüfteln wie man sowas macht (ohne es einfach irgendwo zu kopieren). Aber nu kam ich halt nicht weiter und wäre deswegen froh um ein bisschen Hilfe gewesen.

      Seeyou
      tinu

      1. Ich bin ein bisschen weitergekommen.

        Ich wusste nicht, dass man das ganze PHP-File (in welchem der Code zur Generierung des Captcha-Bildes steht) im Formular als <img> einbinden muss.

        Das hab ich nun mal so gemacht. Allerdings erhalte ich (das Skript aus dem ersten Posting bleibt unverändert) nun bloss ein schwarzes Bild ohne den Code (den String), welcher mit imagestring($image, $font, 5, 5, $code, $textcolor); hätte erzeugt werden sollen.

        Was mach ich falsch? Kann denn wirklich keiner helfen? :(

      2. [latex]Mae  govannen![/latex]

        Kurz gesagt: Ich verspreche mir von Captcha weniger Spam als ohne Captcha.

        http://www.einfach-fuer-alle.de/artikel/captcha/

        Cü,

        Kai

        --
        Is er leven op Pluto, Kun je dansen op de maan.
        Is er een plaats tussen de sterren, Waar ik heen kan gaan.
        YouTube Video-Tipp: Harmonic Curves
        YouTube Video-Tipp: Pipe Dreams
        selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
  2. $image = imagecreatetruecolor(100,40);

    Na toll! Normalerweise beantworte ich ja nicht gern meine eigenen Beiträge (weil ich so etliche Stunde verschwende um selbst auf den Fehler zu kommen, aber vielleicht hilft das hier ja mal irgendwem weiter.

    Also... es hat nicht geklappt weil ich imagecreatetruecolor() verwendet hab. Mit imagecreate() klappts einwandfrei. Eigentlich sollte imagecreatetruecolor() gemäss php.net   mit der GD Bibliothek ab Version 2.0.1 funktionieren. Auf meinem Server steht die GD Bibliothek in der Version 2.0.38 vor... wieso es trotzdem nicht klappt weiss ich nicht. Vielleicht hat ja wenigstens darauf noch jemand ne Antwort.

    Liebe Grüsse
    tinu