Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
  Druckansicht

  PHP Captcha-Generator-Klasse : Ausgabeproblem
Autor Nachricht
    BeitragVerfasst: 28.10.2007 21:08 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Hallo,

ich habe mir eine Mini-Klasse geschrieben in PHP (siehe unten).
Ich möchte damit folgendes erreichen:
In einer beliebigen anderen php-Datei möchte ich mit

$cap = new captcha(50,50,"Beispiel");

Jetzt war mein Ziel, dieses "programmierte" Bild an einer gewählen Stelle mitten in der Seite auszugeben. Also habe ich mitten in einem Formular die Captcha-Abfrage. Das sieht dann so aus:
Code:
<input type="text" name="captcha_input" />
<?php
   $cap->create();
?>


Jetzt bekomme ich an der Stelle, wo eigentlich das Bild stehen soll, den Fehler:

Cannot modify header information - headers already sent by ...

Also vorher erfolgt bereits eine Textausgabe. Ich benötige aber für das Bild die Header-Information.

Wie bekomme ich es also hin, dass ich mit $cap->create() an jeder Stelle der Seite ein Bild darstellen kann, bzw. was muss ich in meiner Klasse ändern ?

Vielen Dank für Eure Hilfe


--------------------- QUELLCODE ------------------------

Code:
<?php

/* Captcha erstellen
@author buddyhu
@params int Hoehe
@params int Breite
@params string Text
*/

   class captcha {
      var $hoehe = 0;
      var $breite = 0;
      var $text = "";
      
      /*
         Konstruktor
      */
      
      function captcha($breite, $hoehe, $text) {
         $this->hoehe = $hoehe;
         $this->breite = $breite;
         $this->text = $text;
      }
      
      function create() {
         $img = imagecreate($this->hoehe, $this->breite);
         $bg = imagecolorallocate($img,0,0,0);
         $white = imagecolorallocate($img,255,255,255);
         imagestring($img,4,1,1,"$this->text",$white);
         header("Content-Type: image/jpeg");
         imagejpeg($img);
      }
      
      function destroy() {
         imagedestroy($img);
      }
   }
?>


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 28.10.2007 22:13 
Moderator
Moderator
Benutzeravatar
Offline

Beiträge: 736
Registriert: 12.06.2000 01:01
Wohnort: Pullach, Bayern
Wenn du nicht weist wie du ein Bild in eine html Datei einbettest empfehl ich dir SELFHTML.

Wenn du nicht weist dass du mit PHP ein Programm schreibst dass eine html Datei erstellt empfehl ich dir das PHP Handbuch.

________________________
Intelligenz ist die Fähigkeit, Arbeiten durch Nachdenken zu erledigen oder die fehlende Notwendigkeit bestimmter Arbeiten zu erkennen. Intelligente Menschen gelten daher oft als faul. (aus Kamelopedia, der freien Kamel-Enzyklopädie)


Nach oben
 Profil  
 

  
    BeitragVerfasst: 29.10.2007 00:12 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Jo, war ein Gedankenfehler. Es gibt nun eine datei, die einzig und allein ein Bild erzeugt und dieses wird dann mit <img> in die Dateien eingebettet.

@USSEraser:
Für ein Forum erwarte ich antworten wie diese :

"Erzeuge eine php Datei in der das Objekt für ein Captcha erzeugt wird. Anschließend brauchst Du in der betreffenden Seite diese Datei nur noch mit dem <img>-Tag aufrufen".

DEINE Antwort war echt ein bisschen unnütz


Nach oben
 Profil E-Mail senden  
 

Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


  Wer ist online?

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


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
RSS-Feed
Impressum und Kontakt
Style created by phpBB3 styles , ziola alveo akuna
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Optimized by SEO phpBB
Deutsche Übersetzung durch phpBB.de