detlevk: Cookie funktioniert bei IE 7, nicht bei FF 3

In einem Skript speichere ich die Session-ID als Cookie:

//Session anlegen  
session_start();  
$sessionid = session_id();  
//Session als Cookie speichern  
if (!isset($_COOKIE['sessionid']))  
{  
  setcookie("sessionid", $sessionid);  
}  
else  
{  
  $sessionid = $_COOKIE['sessionid'];  
}

In einem anderen Skript wird dieses Cookie wieder eingelesen:

$sessionid = $_COOKIE['sessionid'];

Im Internet Explorer 7 funktioniert das einwandfrei, im Firefox 3 wird kein Wert mehr gefunden, die Session also nicht mehr erkannt.

Bedeutet das jetzt, dass ich für FF 3 die Session nicht mehr als Cookie speichern kann, sondern immer über die URL oder ein verstecktes Feld weiter reichen muss?

  1. Hi,

    In einem Skript speichere ich die Session-ID als Cookie:

    Warum machst du das selber - das macht doch PHP normalerweise automatisch?

    Im Internet Explorer 7 funktioniert das einwandfrei, im Firefox 3 wird kein Wert mehr gefunden, die Session also nicht mehr erkannt.

    Hast du *ueberprueft*, ob und welche Cookie-Werte gesendet und empfangen werden?

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hi,

      In einem Skript speichere ich die Session-ID als Cookie:

      Warum machst du das selber - das macht doch PHP normalerweise automatisch?

      Es wird zwar eine Variable für die Session gespeichert. Auf diese kann aber nicht beliebig vom nächsten Skript zugegriffen werden.

      Im Internet Explorer 7 funktioniert das einwandfrei, im Firefox 3 wird kein Wert mehr gefunden, die Session also nicht mehr erkannt.

      Hast du *ueberprueft*, ob und welche Cookie-Werte gesendet und empfangen werden?

      Der Wert der Variablen beim einlesen des Cookies ist "", also nicht vorhanden. Ob überhaupt ein Cookie abgelegt wurde, habe ich jetzt nicht überprüft.
      Allerdings ist der FF auch deutlich genauer bei der Bearbeitung und daher für den User meist auch sicherer. Also auch nicht auszuschließen, dass mein Ansatz nach der "reinen Lehre" eine Sicherheitslücke bedeutet und daher von FF 3 nicht ausgewertet wird.

      MfG ChrisB

      1. Hi,

        bitte zitiere vernuenftig.

        In einem Skript speichere ich die Session-ID als Cookie:

        Warum machst du das selber - das macht doch PHP normalerweise automatisch?

        Es wird zwar eine Variable für die Session gespeichert. Auf diese kann aber nicht beliebig vom nächsten Skript zugegriffen werden.

        Und das soll jetzt die Antwort auf meine Frage gewesen sein?

        Ich moechte von dir wissen, warum du dich genoetigt siehst, einen Cookie mit der Session-ID selber zu setzen - wo PHP das doch mit geeigneten Einstellungen automatisch macht.

        Hast du *ueberprueft*, ob und welche Cookie-Werte gesendet und empfangen werden?

        Der Wert der Variablen beim einlesen des Cookies ist "", also nicht vorhanden. Ob überhaupt ein Cookie abgelegt wurde, habe ich jetzt nicht überprüft.

        Na dann mal hopp!

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Zunächst:
          Mit den Möglichkeiten der Sessionverwaltung werde ich mich noch auseinandersetzen (auch zur Lösung des aktuellen Problems!). Ich bin noch ziemlicher Anfänger in der PHP-Programmierung und beziehe alles Wissen nur aus Büchern und diesem Forum. Daher sind meine Lösungen mit Sicherheit nicht optimal und ich spiele auch noch etwas mit den Möglichkeiten.

          Was mir aber prinzipiell auffällt ist, dass Ablage und Einlesen von Cookies im IE7 problemlos funktioniert, nicht aber im Firefox. Dort wird das Cookie zwar gespeichert, später aber nicht mehr gefunden. In den Einstellungen ist aber das Akzeptieren von Cookies freigegeben.