HEADER ALREADY SENT - aber nur bei PHPsession, also nicht bei Cookies

cool-catti

Grünschnabel
Hey Ihr,
ich weiß ja dass ich bei euch richtig bin :)

Und zwar hab ich folgendes problem:
Ich habe ein gästebuch in meinem forum und zwar auf der profilseite. Wenn jemand was eintippt ins gb und abschickt, werden die daten in die sql-db geschrieben.
Dann wird direkt mit der header() funktion wieder das profil aufgerufen(mit einem #-anker zum gästebuch) damit man gleich seinen eintrag lesen kann.
Mit meinem IE und Firefox klappt das super, weil sie cookies aktiviert haben (liegt das wirklich daran?) aber mein Netscape spinnt rum, er hat keine cookies, also nur PHPSESSION. Er zeigt dann immer die Fehlermeldung an:
COULD NOT ... HEADER ALREADY SENT!
klar kann ich die meldung mit @ unterdrücken, aber weitergeleitet werde ich trotzdem nicht...
Könnt ihr mir helfen, dass der Fehler nicht mehr erscheint und ich auch mit PHPSESSIONS dahin komme mit hilfe des HEADERS wohin ich will? ich möchte nämlich keine zwischenseite erscheinen lassen in der steht: Eintrag erfolgreich ;)

Liebe grüße und danke für eure hilfe!
cool-catti
 
Dank dir Gumbo,
das klappt jetzt auch prima ;)
Aber ein problemchen hätt ich da noch:

ich habe in meinem Header (in der index.php) nun also neben den includes für z.B. gb-einträge einen session_start aber auch einen datenbank-connect. Das problem was ich habe: wenn die datenbank nicht verfügbar ist, dann bricht mir das script ab (mit exit, soll es ja, weil sonst nur mist verarbeitet wird), aber die Fehlermeldung ist einfach nur normaler Text... ist das normal?
Wie kann ich die Fehlermeldung erst an einer bestimmten Seitenstelle (also wenn schon HTML geschickt wurde) anzeigen? Wie löst man dieses Problem normalerweise?

Danke und viele Grüße
cool-catti
 
Fehlermeldungen werden normalerweise an der Stelle ausgegeben, an denen der Fehler auftritt. Wieso möchtest du diese „sammeln“ und an einer bestimmten Stelle ausgeben?
 
Mit [phpf]set_error_handler[/phpf] kannst Du eine eigene Funktion zur Fehlerbehandlung bestimmen. Damit kannst Du die Fehlermeldungen sammeln und am Ende der Seite ausgeben.

Gruß hpvw
 
Für mich klingt die Fragestellung eher so, also wollte Cool-catti die Fehlermeldungen abfangen, um sie an einer bestimmten Stelle im Quellcode und damit im Layout auszugeben.
 
@Gumbo: Auch das geht so ähnlich wie beim Debuggen. Man kann die normale Ausgabe der Fehlermeldungen unterdrücken (mit dem "@" vor den Befehlen).
 
Zurück