warum funzt session_start(), header() usw. nur vor <html>
Marcel
- php
0 Andavos0 Thomas Luethi
Hallo.
Warum funktioniert session_start(), header() usw. nur bevor <html> angefangen wurde??
Gibt es eine möglichkeit dies auch nach <html> auszuführen??
mfg,
Marcel
Hallo,
weil <html> schon eine Ausgabe ist, und die Befehle _müssen_ vor jeder ausgabe stehn.
Lösung:
Einfach <html> nach session_start() ausgeben ;)
MFG
Andavos
Hallo
Lösung:
Einfach <html> nach session_start() ausgeben ;)
Ja is klar aber meine unterseiten werden in die index.php includet. also ist jeder phpcode nach dem <html>. gibt es da echt keine andere lösung?
mfg,
Marcel
Hallo,
index.php
<?php
session_start();
?>
<html>
<head>
<?php
include("seite1.php");
?>
Wo ist das Problem?
Dann kann man halt auf allen Seiten Session benutzen. Wenn man die nicht braucht
MFG
Andavos
Hallo,
Warum funktioniert session_start(), header() usw. nur bevor <html> angefangen wurde??
Stark vereinfacht:
Wenn ein Browser von einem Webserver eine Datei verlangt,
schickt der Server zuerst ein paar Zeilen HTTP-Head-Daten,
danach den eigentlichen Inhalt der Datei.
Genaueres siehe HTTP/1.1:
http://www.w3.org/Protocols/rfc2616/rfc2616.html
Sobald das erste Zeichen "Inhalt" ausgegeben wurde,
ist es zu spaet, um noch Head-Daten auszugeben.
http://www.dclp-faq.de/q/q-fehler-session-cookie.html
Gibt es eine möglichkeit dies auch nach <html> auszuführen??
Es gibt schmutzige Tricks mit Output Buffering.
http://www.zend.com/zend/art/buffering.php
Wuerde ich nicht anwenden.
Lieber das Skript anstaendig aufbauen.
EVA: Eingabe - Verarbeitung - Ausgabe
(oder wie war das nochmal, Tom? ;-)
Gruesse,
Thomas