Guten Abend,
ich habe folgendes Problem:
Ich benutze eine Rechteverwaltung in einer Datenbank die mit $_SESSION arbeitet. Dazu wird beim Login der Benutzername, das Passwort und die Rechte aus einer Datenbank gelesen und in der Variable $_SESSION['opertor'] gespeichert. Jede weitere Seite die aufgerufen wird überprüft diese Variable indem eine kleine Verifikationsroutine per include eingebunden wird.
Soweit funktioniert alles, ich habe bloß bei einem (einzigen!) Formular das Problem, das ich nach dem laden der Seite und einen direkt darauf folgenden reload wieder auf der Login-Seite lande (dort wo man hingeschickt wird, wenn man nicht die erforderlichen Rechte hat).
Folgende Lösungen/Versuche habe ich schon durchgeführt:
1) mit PHP5.0.3 habe ich kein Problem, mit PHP5.1.1 ist das Problem da
2) verwende ich statt $_SESSION['opertor'] die Syntax $opertor=1;session_register(opertor); habe ich auch kein Problem
3) die Header aller Formulare sind bis zum <body>-Tag identisch
4) ich mache keinerlei Eingaben im fraglichen Formular sondern direkt einen Reload
5) wenn ich mir mit print_r die Session-Variablen anzeigen lasse sind alle Werte richtig gesetzt, wenn ich mir allerdings das dazugehörige Cookie anschaue, ist in dem Cookie bereits nach dem Laden der Seite die Variable "opertor" verändert (...was zumindest erklärt, warum ich wieder auf der Login-Seite lande, ich verstehe aber nicht, warum nur in diesem einen Formular die Variable geändert wird, im gesamten Formular wird auf $_SESSION nicht zugegriffen)...
Bin für jede Hilfe dankbar...
Yogi
P.S. register_globals ist bei PHP5.0.3 on und bei 5.1.1 auf off!!
ich habe folgendes Problem:
Ich benutze eine Rechteverwaltung in einer Datenbank die mit $_SESSION arbeitet. Dazu wird beim Login der Benutzername, das Passwort und die Rechte aus einer Datenbank gelesen und in der Variable $_SESSION['opertor'] gespeichert. Jede weitere Seite die aufgerufen wird überprüft diese Variable indem eine kleine Verifikationsroutine per include eingebunden wird.
Soweit funktioniert alles, ich habe bloß bei einem (einzigen!) Formular das Problem, das ich nach dem laden der Seite und einen direkt darauf folgenden reload wieder auf der Login-Seite lande (dort wo man hingeschickt wird, wenn man nicht die erforderlichen Rechte hat).
Folgende Lösungen/Versuche habe ich schon durchgeführt:
1) mit PHP5.0.3 habe ich kein Problem, mit PHP5.1.1 ist das Problem da
2) verwende ich statt $_SESSION['opertor'] die Syntax $opertor=1;session_register(opertor); habe ich auch kein Problem
3) die Header aller Formulare sind bis zum <body>-Tag identisch
4) ich mache keinerlei Eingaben im fraglichen Formular sondern direkt einen Reload
5) wenn ich mir mit print_r die Session-Variablen anzeigen lasse sind alle Werte richtig gesetzt, wenn ich mir allerdings das dazugehörige Cookie anschaue, ist in dem Cookie bereits nach dem Laden der Seite die Variable "opertor" verändert (...was zumindest erklärt, warum ich wieder auf der Login-Seite lande, ich verstehe aber nicht, warum nur in diesem einen Formular die Variable geändert wird, im gesamten Formular wird auf $_SESSION nicht zugegriffen)...
Bin für jede Hilfe dankbar...
Yogi
P.S. register_globals ist bei PHP5.0.3 on und bei 5.1.1 auf off!!
Kommentar