Session_start(); schlägt fehl, obwohl am anfang

Jo wies schon im Betreff stehts schon
Die session_start(); funktion will nicht :stuck_out_tongue:
Das hier ist der Code:

<?php session_start(); require_once('./include/konstanten.php'); require_once(THEMEINDEX); ?>

Und das die Fehlermeldung:

[code]Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/sebastian-l/www/Websys/index.php:1) in /users/sebastian-l/www/Websys/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/sebastian-l/www/Websys/index.php:1) in /users/sebastian-l/www/Websys/index.php on line 2[/code]

Gerade ist mir aufgefallen, dass die Seite im IE anders angezeigt wird als im FF…

hast du in der datei das <?php auch wirklich in der ersten zeile stehen??
es darf vorher auch keine leerzeile ausgegeben werden… also…

<?php session_start(); require_once('./include/konstanten.php'); require_once(THEMEINDEX); ?>
Richtig!

[code]

<?php session_start(); require_once('./include/konstanten.php'); require_once(THEMEINDEX); ?>[/code]

Falsch!

<?php session_start(); require_once('./include/konstanten.php'); require_once(THEMEINDEX); ?>
Falsch!

danke, aber das war es nicht.
ich hatte die dateien mit utf-8 codiert, richtig wäre aber utf-8 ohne BOM

jap…der BOM ist was heimtückisches :wink:

gibt es denn auch eine möglichkei mit bom :stuck_out_tongue:

nein, leider nicht

was ist bom? ich hab keine lust, zu googlen :ps:

eine beschreibung des wverwendeten zeichensatzes, wenn ich mich recht erinnere.

und sonst:

gidf.de/bom
:ps:

BOM = Byte Order Mark
Eine Makierung am Anfang der Datei, den einige Editoren setzen.
Bei UTF-8 besteht diese aus drei Zeichen (welche das sind weiß ich gerade nicht), und dient bei UTF-8 um diesen als UTF-8 zu markieren.
Bei manchen Zeichenkodierungen muss eine BOM angegeben werden, um den “wahren” Nutzen einer Byte Order Mark zu nutzen. Nämlich um die Reihenfolge einzelner “Byte-Pakete” (Words) zu kennzeichnen. Dabei sollen Programme erkennen, ob es sich um Big Endian oder Little Endian handelt.
Da UTF-8 aber nicht zu diesen Zeichenkodierungen gehört, bei denen das BOM wichtig ist, kann man es weg lassen.

mfg Balmung