Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Forum.

Ich hab mich mal ein wenig in PHP rein gearbeitet und habe mir dynamisch eine Grafik erzeugt.

Es sind insgesamt drei Programme und zwei Klassen involviert.

Nachdem ich die Grafik nun erzeugt habe und an das "Hauptprogramm" übergeben habe, möchte ich diese natürlich auch anzeigen.

Als Resultat erhalte ich folgendes:

Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\Pfad\Hauptpgm.php:4) in D:\xampp\htdocs\Pfad\GrafikErzeugeProgramm.php on line 29

Nun habe ich nach dem Fehler schon einige Zeit gesucht und die Standardantwort "Leerzeichen / zeilen nach ?>" schon geprüft. Daran liegt es nicht.

Wenn ich das Programm, dass die Grafik erzeugt direkt aufrufe, dann klappt es.

Das Hauptprogramm erzeugt ein Objekt der Klasse 1, welche Werte für die Grafik sammelt. Dann wird ein Objekt der Klasse 2 (von der Klasse 1) erzeugt und die Werte übergeben. Die Klasse 2 erzugt nun das Bild, welches im Hauptprogramm in eine HTML eingebettet werden soll.

Also Hauptpgm ist PHP mit diversen HTML Tags, die Klassen sind rein PHP.

Hat jemand ne Idee?

Vielen Dank

Geschrieben

Na ein paar Zeilen Code die sich um die Zeile 29 befinden wären schon nicht schlecht. Da läst sich besser nach einem Fehler suchen.

Was ich jetzt vermute ist das du schon mal einen header gesetzt hast und diesen danach noch mal umbiegen willst. Das scheint so nicht zu klappen. Aber ohne Code kann ich dir da leider nicht mehr zu sagen.

Geschrieben

Also wenn du n Header selber senden willst und eine solche Meldung ("...headers already sent...") bekommst, lässt darauf schließen, das sich in dem Skript irgendwo ein Stück Code befindet, der automatisch einen Header generiert.

Hast du in dem Skript irgnedwo ein "echo"?

Wenn ja: rausnehmen.

Bruachst du das echo, weil du dadurch die eingaben für deine klasse vornimmst:

Eingaben in Skript A, Postbefehl nach Skript B, welches den Header enthält.

Geschrieben

Nachdem ich die Grafik nun erzeugt habe und an das "Hauptprogramm" übergeben habe, möchte ich diese natürlich auch anzeigen.

Als Resultat erhalte ich folgendes:

Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\Pfad\Hauptpgm.php:4) in D:\xampp\htdocs\Pfad\GrafikErzeugeProgramm.php on line 29

So wie sich das anhört, erzeugst du die Grafik und willst alles im "Hauptprogramm ausgeben lassen", da das Hauptprogramm aber schon den HTML-Code der Seite ausgibt, kann es später, wenn es zum Bild kommt natürlich keine Header mehr senden (Header werden und können nur vor dem Inhalt gesendet... deswegen ja Header).

Tip (Lösung?):

Lager deine Bilderzeugung in eine eigene php-Datei aus und gib die Datei als Quelle für das Bild an, also so ung.:



Hauptprogramm:
...
<img src="meinErzeugtesBild.php" />
...

meinErzeugtesBild.php:
...
header ("content-type:image/jpeg");
echo $bild;
?>
[/php]

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...