luiggi: fehler nach Server Umzug

Hallo,
ich habe meine Homepage von meinen alten Server (PHP 4) auf meinen neuen Server (PHP 5) umziehen lassen.

Jetzt kommt die Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\homepage\stefan-luger.de.tt\common\inc_rahmen_oben.php:4) in D:\homepage\stefan-luger.de.tt\common\inc_rahmen_oben.php on line 15

Auf dem alten Server geht es noch,
auf dem neunen nicht.
Online auf dem Webspace geht es auch.

Woran kann das liegen?

Schöne Grüße
Stefan

Hier der Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<head>
<?
// ACHTUNG: AUCH DIE DATEI inc_conndb.php ANPASSEN
// connection daheim
  $conn_links = mysql_connect("192.168.178.xx","bla","blub") or die ("Keine Verbindung moeglich");
  mysql_select_db("db") or die ("Die Datenbank existiert nicht");
  $serverstring = "/stefan-luger.de.tt/";
//  connection online
//  $conn_links = mysql_connect("db","bla","blub") or die ("Keine Verbindung moeglich");
//  mysql_select_db("db") or die ("Die Datenbank existiert nicht");
//
//
session_start();
$_SESSION["SLCOOKIES"] = "ja";
if ($_SESSION["URIGHTS"] == 0) {$_SESSION["URIGHTS"] = 0;}

......

  1. session_start() ist immer das erste, was im Script stehen sollte.
    Schieb die Zeile einfach nach ganz oben, dann läuft es wieder.

    Zur Erklärung:
    session_start() startet, wie der Name schon sagt, eine neue Session. Die Session-Informationen werden in den Header geschrieben. Da du vorher aber schon den Doctype und dein head-Tag ausgibst, wurde der Header schon gesendet und es gibt ein Warning

    Stefan

    1. Hi,

      danke, die Fehlermeldung ist weg.

      Aber das einloggen klappt jetzt nicht mehr.
      Gebe meinen Usernamen & PWD ein, aber dann loggt er sich nicht ein.

      habe jetzt die Fehlermeldungen eingeschaltet und bekomme jede Menge Fehler:

      Notice: Undefined variable: _Post in D:\homepage\stefan-luger.de.tt\members\login.php on line 8

      Linie 8:
      $action = $_Post['action'];

      aber vorher habe ich schon:
      $action = "";
      geschrieben. Das sollte doch helfen?

      Sg Stefan

      1. Das ist keine Fehlermeldung sondern nur eine Notiz und die bezieht sich nicht auf die Variable $action sondern auf die Variable $_Post. Schreib die Variable mal komplett gross, also $_POST. Und guck dein Script gleich noch nach weiteren Variablen durch die mit $_ anfangen. Das sind nämlich globale PHP Variablen, die werden grundsätzlich komplett gross geschrieben.

        1. Hi,
          danke, auch das hat mich wieder weitergebracht.

          Jetzt darf ich mal richtig viel Zeit in das umstellen meiner Skripts stecken. So ein Mist!

          Sg Stefan

  2. Hi...

    Oehm. DAS laeuft auf dem alten Server? Du machst ne Ausgabe, schickst also was an den Browser, und willst dann noch nen header senden... Das geht nicht.

    1. Hi...

      Oehm. DAS laeuft auf dem alten Server? Du machst ne Ausgabe, schickst also was an den Browser, und willst dann noch nen header senden... Das geht nicht.

      Das lief auf dem alten Server mit sicherheit auch nicht. Da hat der Server vermutlich kein Warning rausgeschmissen, weil der Errorlog so eingestellt war, dass keine Warnings ausgegeben werden ;)

      Stefan

      1. Ich frag mich halt was mit dem session cookie passiert ist. Das sollte ja eigentlich nicht funktioninert haben. Und da wundert's mich halt, dass es keine Fehlfunktionen gab.

        1. Es lief,
          sowohl bei mir daheim als auch online auf einen Webspace.

          Aber das Error reporting war ausgeschaltet.

          Sg Stefan