nochmal Session-Verwaltung auf Webspace
Klassmann
- php
Hallo,
habe schoneinmal zu dem Thema gepostet, jedoch war das ein wenig lang (und einige Zeit her). Daher hier nochmal das Problem mit eingeschränkten Fehlermöglichkeiten:
Nun, folgende beiden Scripte tun bei mir lokal einwandfrei. Jedoch sobald auf Webspace (Puretec oder Lycos) werden die Session-Variablen nicht übergeben, die SessionID aber sehr wohl...
Also, hier die Scripte:
-----script 1
<?php
session_start();
session_register("test");
.
.
$test = "Testvariable";
?>
.
.
<a href="seite2.php> weiter </a>
.
.
----
so und jetzt das zweite Script:
------script 2
<?php
echo $PHPSESSID;
echo session_is_registered("test");
?>
Also nicht grosses, nur zum Testen. Die SessionID wird wie gesagt einwandfrei übergeben. Jedoch nicht die Variable "test". Ist nicht vorhanden.
phpinfo() sagt, dass register_globals ON ist. Daran kann es also nicht liegen. Hat jemand einen anderen Vorschlag?
Vielen Dank schonmal!!!
Peter
Moin!
so und jetzt das zweite Script:
------script 2
<?php
echo $PHPSESSID;
echo session_is_registered("test");
?>
Wo wird denn hier die Session gestartet?
Wenn du mal genau hinsiehst, dann wirst du sehen, daß beispielsweise der Link noch einen Parameter angehängt bekommt. Und der heißt "PHPSESSID". Das bedeutet, du hast auf der zweiten Seite eine Variable gleichen Namens, mit den entsprechenden Wert. Du hast aber noch keine Session fortgeführt dadurch. Erst mit start_session() werden alle Session-Variablen initialisiert (und sollten gleichnamige Variablen vorher schon benutzt worden sein, werden sie damit überschrieben).
- Sven Rautenberg
so und jetzt das zweite Script:
------script 2
<?php
echo $PHPSESSID;
echo session_is_registered("test");
?>
Wo wird denn hier die Session gestartet?
Wenn du mal genau hinsiehst, dann wirst du sehen, daß beispielsweise der Link noch einen Parameter angehängt bekommt. Und der heißt "PHPSESSID". Das bedeutet, du hast auf der zweiten Seite eine Variable gleichen Namens, mit den entsprechenden Wert. Du hast aber noch keine Session fortgeführt dadurch. Erst mit start_session() werden alle Session-Variablen initialisiert (und sollten gleichnamige Variablen vorher schon benutzt worden sein, werden sie damit überschrieben).
Hmm, stimmt. Aber warum funktioniert das dann lokal auf meiner Machine? Mir ist klar, dass der session_start da hin muss. Das ist mir dadurch gar nicht aufgefallen, weil es lokal eben tut....
Naja, wie auch immer! Vielen vielen Dank für den Hinweis. Werde mir doch 'ne Brille kaufen müssen :-)
In diesem Sinne,
frohe Ostern
Peter