Mailinglisten-Archive |
> Mit HTTP_COOKIE_VARS bekomme ich nicht angezeigt und im Browsercache des > Clienten steht nicht. Nur in /tmp > > Was mache ich wohl falsch ? > Guck doch mal in der Ausgabe der Funktion phpinfo() ob php überhaupt mit "--enable-trans-sid" kompiliert wurde, denn nur dann übernimmt PHP selbstständig der Transport der Session-ID zur nächsten Seite per Cookie, oder wenn das nicht möglich ist per URL-GET-Parameter an allen Links. Wenn dies nicht der Fall ist, so musst du selber einen Cookie setzen der eine Variable mit dem Namen der Session (Standart ist "PHPSESSID") enthält in der dann die Session ID (Konstante "SID" in PHP) in die nächste Seite bringt oder halt diese Variable per GET-Parameter weiter übergeben. Außerdem ist zu beachten das PHP nicht an alle URLs der aktuellen Seite die Session-ID dranhängt wenn "--enable-trans-sid" einkompiliert wurde, sondern nur an solche, die in Links vorkommen, die auf den gleichen Server zeigen. Sobald du URLs der Form "http://servername/script.php" verwendest geht PHP davon aus, dass du auf einen anderen Server verweißt. Ließ dir in jedem Fall mal die entsprechende Seite des Manuals (http://de.php.net/manual/de/ref.session.php) _gründlich_ durch, da sind auch Beispiele und Hinweise zu unterschiedlichen Konfigurationen. Nach all dem rumgetexte noch eins, ich hatte zuletzt den seltsamen Fall, dass eine Session-Variable nie durchkam, obwohl es vorher immer ging und der Server bestimmt im Leben nicht verändert wurde (ein Riesen-Ding dass eines der größten dt. Portale betreibt). Ich hab mal den Namen der Variablen geändert (und sonst nix!) und auf einmal ging's. Wenn alles versagt probier das auch mal, ich hatte das Problem auf der Kiste mit PHP 4.0.6 und irgendeinem Unix.
php::bar PHP Wiki - Listenarchive