phpbar.de logo

Mailinglisten-Archive

[php] $_SESSION['xxx'] geht verloren

[php] $_SESSION['xxx'] geht verloren

Dieter Huber php.list at prof-huber.de
Son Jan 8 17:53:59 CET 2006


Liebe Liste,

ein scheinbar unlösbares Trivialproblem beschäftigt mich schon eine (zu 
lange) Zeit.

Fakten:

- Windows XP

- xampp 1.5.0-pl1 (Apache 2.055, PHP 4.4.1-pl1)

- php.ini: register_globals = OFF

- test1.php:
  <?php session_start();
  $_SESSION['SessID_test1'] = session_id();
  $_SESSION['testtext'] = 'Das ist ein Texttest.';
  header( 'Location: test2.php' );
  ?>

- test2.php:
  <?php session_start();
  $_SESSION['SessID_test2'] = session_id();
  echo $_SESSION['testtext'] . 
'<BR>===================================<BR>';
  echo $_SESSION['SessID_test1'] . '<BR>' . $_SESSION['SessID_test2'];
  ?>

- Ergebnis:
  ***nix***
  ===================================
  ***nix***
  ec41977c50be80b92c8f026983d31c1d

- Erwartet:
  Das ist ein Texttest.
  ===================================
  ec41977c50be80b92c8f026983d31c1d
  ec41977c50be80b92c8f026983d31c1d

Schreibt man in test1.php den Aufruf
  header( 'Location: test2.php?'.SID );
oder startet den Aufruf im selben Browser ein zweites Mal, dann 
klappt's. Es funkt auch korrekt auf einem echten Server (Linux 8, Apache 
2.0.48 und PHP 4.3.3). In der php.ini kann ich nichts finden, was 
Abhilfe bringt.

Fazit: Die Session wird per Cookie von test1.php nicht auf test2.php 
übergeben. Ein Stillegen der Firewall brachte kein Ergebnis. Das 
Verhalten ist unter IE, Mozilla, Firefox und Opera identisch.

An welcher Stelle muß ich lokal drehen, damit es funkt.

Danke für richtungsweisende Hilfe.

Beste Grüße
Dieter

php::bar PHP Wiki   -   Listenarchive