Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit unset() und SESSION

Einklappen

Neue Werbung 2019

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

  • Problem mit unset() und SESSION

    Hallo Forum,

    ich habe eine Datenbank Tabelle mit ca. 30 Spalten. Es gibt eine
    Übersichtsseite mit allen vorhandenen Datensätzen auf der ca 10 Spalten
    pro Datensatz angezeigt werden. Klickt man auf die "Beschreibung" erhält
    man eine detaillierte Ansicht des Datensatzes, auf 5 Unterseiten verteilt
    kann man sich alle 30 Eigenschaften des Datensatzes ansehen. Damit
    man zwischen den 5 Unterseiten hin und herwechseln kann lese ich den
    kompletten Datensatz in Session Variablen aus.

    In den Formularen zum Anzeigen steht dann jeweils so etwas:
    PHP-Code:
    <?php if (isset($_SESSION['fr_bemerkung2'])){ echo($_SESSION['fr_bemerkung2']);} ?>
    beim laden eines Datensatzes gehe ich folgendermaßen vor:

    es gibt 'loaditem.php' dem eine id übergeben wird. Da werden zunächst alle Session variablen zurückgesetzt.

    PHP-Code:
     unset($_SESSION['fr_bemerkung2']); 
    anach der Datensatz der id aus der Datenbank geholt und die Sessionvariable neu gesetzt
    PHP-Code:
    $_SESSION['fr_bemerkung2'] = $results['FR_Bemerkung']; 
    danach wird per header Location auf die erste Darstellungsseite geleitet.

    das Problem ist folgendes: Wenn ich einen Datensatz öffne bei dem im
    Feld 'FR_Bemerkung' nichts steht, also NULL, wird der Inhalt des letzten
    Datensatzes angezeigt, obwohl ja eigentlich bei jeden neuen laden alle
    Sessionvariablen mit unset() zurückgesetzt werden...


    hat das jemand verstanden?
    mfg

  • #2
    Hier ist schon der fehler:

    Zitat von C22
    Damit
    man zwischen den 5 Unterseiten hin und herwechseln kann lese ich den
    kompletten Datensatz in Session Variablen aus.
    Das kannst du auch dadurch lösen, indem du die Zahl der Daten ermittelst, berechnest wie viele Seiten du brauchst und die nächste Abfrage dementsprechen dynamisch änderst. So ersparst du es dir, Variablen und Extradateien für das Navigieren anzulegen.

    Kommentar


    • #3
      ja ok, aber das ändert ja nichts an dem unset() Problem.

      Kommentar


      • #4
        Hallo,

        du löscht offenbar falsch. Denn unset() funktioniert, auch mit Sessions.
        Um Fehler zu vermeiden könntest du aber zum Beispiel folgendes Format verwenden:
        $_SESSION['item'][<spaltenname>]

        unset($_SESSION['item']);
        löscht dann garantiert alles!

        Kommentar

        Lädt...
        X