$_SESSION Variable wird willkürlich geänert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • $_SESSION Variable wird willkürlich geänert

    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!!

  • #2
    Re: $_SESSION Variable wird willkürlich geänert

    Original geschrieben von Yogi66
    P.S. register_globals ist bei PHP5.0.3 on und bei 5.1.1 auf off!!
    Das klingt doch nach der Lösung.
    Stell doch mal beide auf off, wenn du das kannst/darfst.

    Aber ganz ohne Code kann ich für meinen Teil dazu wenig sagen.
    mfg - sagg

    Kommentar


    • #3
      Hmm, nun ja, das könnte ich mal ausprobieren, obwohl ich die Sache mit register_globals anders verstanden hatte...
      Was mich bloß etwas verwundert: ich habe nach einem Login die Auswahl zwischen 5 verschiedenen Formularen, 4 davon funktionieren, eines nicht (obwohl ich die Verifikation der Userrechte über ein include mache - das ist bei allen gleich...)

      Yogi

      Kommentar


      • #4
        So, jetzt habe ich den Quellcode Zeile für Zeile noch mal durchgearbeitet und foldende Zeile als Übeltäter ausgemacht:

        <img src='' height='225' width='300' name='BILD'>

        Ist die Zeile drin geht die Session-Variable verloren, kommentiere ich die Zeile aus klappt alles wieder....

        Ich würde mal vermuten, das es am leeren src-Statement liegt, aber was hat das mit meinen $_SESSION Variablen zu tun

        Ich denke mal: Problem gelöst , aber der Grund würde mich schon noch interessieren...

        Yogi

        Kommentar


        • #5
          Nee, was auch immer dein Script macht, das kann unmöglich die Ursache für deine wildgewordene Session sein, denn das wird erst beim Client interpretiert - es sei denn, es ist Teil eines Strings und durch die ' ... aber das hätte 'nen Parse Error gegeben.

          Kommentar


          • #6
            Nun ja, was soll ich sagen....

            ich verstehe es auch nicht, aber wenn ich in den "src"-Tag mit einen Dummy-Link fülle läuft alles....

            Nur der Vollständigkeit halber...
            meine Datenbank besitzt zwei Oberflächen, eine für "Operator", die nur Teile entnehmen können und eine für "Techniker", die auch Bestellungen durchführen könnet etc. Ich habe nach der Erfahrung gestern auch mal den Techniker-Teil mit über 30 Formularen getestet und dort 5 gefunden, die das Problem mit der Session-Variablen auch haben und siehe da, alle fünf Formulare hatten auch einen leeren src-Tag.....Dummy-Link eingefügt und alle laufen...

            Zusammenfassung: Problem gelöst bloß nicht verstanden...

            Gruß

            Yogi

            P.S. ach ja, der <img> String wird nicht per print von PHP erzeugt...

            Kommentar

            Lädt...
            X