Session wird falsch wieder aufgenommen - Problem mit Session Hallo!
Ich fange erst mit PHP an und bin gerade dabei ein Skript zu schreiben, welches Personendaten in eine MySQL-Datenbank schreibt.
Dazu brauche ich auch eine rudimentäte Benutzerverwaltung und ein einfaches Sessionmanagement. Nun habe ich nach dem einloggen den Benutzer in einer Variable gespeichert. Der Code dafür sieht so aus:
function inhalt($benutzername){
session_start();
session_register("benutzername");
...}
So. Der Benutzername solle ja jetzt in der Variable gespeichert sein. Nun versuche ich die Daten auf den folgenden geschützten Inhaltsseiten wieder auszulesen. Das ganze sieht bei mir so aus:
session_start();
if (!session_is_registered('benutzername')) {die ("Sie müssen sich einloggen!");}
Nun zum eigentlichen Problem:
Wenn ich mich aus meinem lokalen Netz auf meinen Webserver über das Skript einlogge, dann funktioniert alles einwandfrei.
Webserver und PHP-Interpreter liegen dabei auf einem Rechner in meinem lokalen Netz und sind mit dem Internet vebunden.
Versuche ich nun mich von einem Rechner außerhalb des lokalen Netzes mit dem Skript einzuloggen, dann sagt er bei der ersten geschützten Seite immer "Sie müssen sich einloggen!".
Das gleiche ist der Fall, wenn ich mich direkt vom Webserver aus einlogge!.
Es geht also nur von meinem Rechner aus dem lokalen Netz, wenn ich als URL die lokale IP angebe.
Augenscheinlich scheint er auf den geschützten Seiten die Variable "benutzername" nicht mehr mit dem Benutzernamen belegt zu haben. Wenn ich sie ausgeben lasse, erhalte ich einen leeren String (außer auf meinem eigenen Rechner im lokalen Netz, bei dem ist die Variable odnungsgemäß belegt).
Auf meinem PHP-Interpreter habe ich register_globals=on.
Fällt vielleicht jemandem ein, woran es liegen könnte?
Schonmal danke für Eure Bemühungen! |