Fehlermeldung

Alles, was PHP betrifft, kann hier besprochen werden.

Fehlermeldung

Postby pauli » 17. June 2004 18:40

Hab eine Seite, die ich bei mir auf dem rechner laufen hatte ins Internet gestellt und lediglich die DB-Daten geändert und nun funktioniert es nicht mehr und ich bekomme diese Fehlermeldung. kann mir einer sagen was sie bedeutet und was sie ausgelöst haben könnte?


Warning: Cannot add header information - headers already sent by (output started at /home/host/pauli/imperium/HandleLogin.php:6) in /home/host/pauli/imperium/HandleLogin.php on line 32
pauli
 
Posts: 22
Joined: 21. April 2004 21:55

Postby Wiedmann » 17. June 2004 19:24

Daran erkennt man, das es eigentlich schlecht ist, auf einem Entwicklersystem bei PHP output_buffering einzuschalten...

Die Befehle header() oder session_start() usw. müssen ausgeführt werden bevor irgendeine Ausgabe produziert wird. Und wenn's nur ein Zeilenumbruch oder Leerzeichen ist. Es darf auch keine Ausgabe im HTML-Teil vor diesen Befehlen erfolgen.

Wenn dennoch davor eine Ausgabe erfolgen muß, gibt es dazu ob_start() und ob_end_flush() um dieses möglich zu machen.

Den Rest erzählt dir das PHP-Manual.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby pauli » 18. June 2004 08:50

Wie kann ich es ausschalten?

Was genau bewirkt es eigentlich?
pauli
 
Posts: 22
Joined: 21. April 2004 21:55

Postby Wiedmann » 18. June 2004 10:09

Wie kann ich es ausschalten?

In der Konfigurationsdatei (php.ini). Dort ist jeder Parameter auch nochmal erklärt. -->
output_buffering = Off

Was genau bewirkt es eigentlich?

Funktionen zur Ausgabesteuerung
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby micha78347 » 19. June 2004 10:03

der fehler bei dir wie wiedman schon sagt ist ein gravierender.

es wird versucht ein cookie, eine session oder sonst was zu senden , NACHDEM der header schon gesendet ist.

das ist fatal, das cookie oder sonst was kann dann nicht gesetzt werden !!!
deshalb musst du den code , den script, überbeiten,
und gucken das die header erst nacher gesendet werden!!

erklärung:

ein header ist das teil, was an den clienten gesendet wird, damit der client weiss, das jetzt ein code kommt den er ausgeben soll.
vor dem header passieren aktionen, die nichts mit ausgabe etc zu tun haben (also was du liesst oder so..)

viele grüsse
micha78347
 
Posts: 57
Joined: 07. June 2004 20:56

Postby pauli » 20. June 2004 20:18

Heißt das, dass ich gar keinen HTML-Code vorher haben darf (z.B. <Head>) oder nur, dass ich nichts per echo() oder print() ausgeben darf?

Ich hab jetzt meine php.ini geändert und den Wert von 4096 auf off gesetzt, kann aber keine Veränderung feststellen.
pauli
 
Posts: 22
Joined: 21. April 2004 21:55

Postby lain » 21. June 2004 09:53

es darf keinerlei text zur ausgabe geschickt werden!
dazu zaehlen auch fehlermeldungen (notices), wie ich mal feststellen durfte -.-
lain
 
Posts: 38
Joined: 19. March 2004 13:48


Return to PHP

Who is online

Users browsing this forum: No registered users and 11 guests