Doctype vs "headers already sent"

zempsit

Erfahrenes Mitglied
Hallo zusammen.

Meine Frage betrifft das Problem, dass auf der einen Seite der Doctype in der ersten Zeile angegeben werden sollte, da sonst der Browser in den Quirks Mode wechselt. Auf der anderen Seite muss man z.B. die Funktionen header() oder session_start() in der ersten Zeile angeben, um einen Abbruch zu verhindern.

Ich weiss nicht, ob ich einfach falsch überlege und es eine ganz einfache Lösung gibt. Aber ich wäre froh wenn ihr mir auf die Sprünge helfen könntet.

mfg zempsit
 
Die PHP-Funktion start_session() muss in einer PHP-Datei vor jeder (HTML-)Ausgabe stehen.
Also muss start_session() auch vor dem Doctype stehen.
Der Doctype muss ganz oben in einer HTML-Datei stehen. Nach dem eine PHP-Seite interpretiert wurde, wird sie an den Browser geschickt.
Der Interpreter interpretiert session_start() und entfernt es dann logischerweise vor der Ausgabe (im HTML-Quellcode ist davon nichts mehr zu sehen).
Also:
PHP:
<?
session_start();
?>
<!DOCTYPE ...>

Frohe Weihnachten!
 
Zurück