Hallo,
ich habe eine Frage zu Sessions: Ist es möglich eine Session auf nur ein Browser Fenster zu beschränken?
Ich versuche es mal etwas anschaulicher zu beschreiben: Wenn ein Benutzer auf meiner Seite einen Link (mutwillig ) in einem neuen Fenster öffnet, soll die Session für das neue Fenster ungültig sein. Für das "parent Fenster" - also das alte Fenster - soll jedoch die alte Session weiterhin gültig sein.
Wozu ich das brauche:
Ich generiere aus einer Session Variable ein Submenu. Dieses setzt sich dynamisches zusammen.
Ich habe die Hauptmenüpunkte A B und C und die Unterseiten a b und c.
Um auf die Seite c zu gelangen kann man z.B. den Weg über A -> a -> c wählen.
Jedoch sind z.B. auch folgende Wege denkbar: A -> c oder B -> b -> c
Das Submenu zeigt letztendlich nur den Weg den der Benutzer genommen hat. Dazu habe ich eine Session Variable ($_SESSION) die bei dem Weg A -> c wie folgt aufgebaut ist:
Die Variable setzte ich mit einer kleinen Funktion zusammen, die nach folgenden Regeln arbeitet:
Falls der Benutzer bei einem Hauptmenüpunkt steht: Array lerren und $_SESSION füllen.
Bei einem Unterpunkt: durchlaufe Array und suche, ob dieser Menüpunkt schon vorhanden ist. Wenn ja: lösche alles dahinter. Wenn nein: Füge neues Element am Ende ein.
Lange Rede kleines Problem:
Wenn der Benutzer jetzt ein zweites Fenster öffnet, haut das natürlich mein Submenu durcheinander.
Mein Post ist jetzt doch ein wenig länger geworden als erwartet. Deshalb gleich noch eine Frage hinterher: Hat jemand vielleicht eine andere Idee wie man ein Submenü so dynamisch wie beschrieben, aufbauen kann?
Ich freue mich auf eure Lösungsvorschläge, und bedanke mich für's durchlesen
ich habe eine Frage zu Sessions: Ist es möglich eine Session auf nur ein Browser Fenster zu beschränken?
Ich versuche es mal etwas anschaulicher zu beschreiben: Wenn ein Benutzer auf meiner Seite einen Link (mutwillig ) in einem neuen Fenster öffnet, soll die Session für das neue Fenster ungültig sein. Für das "parent Fenster" - also das alte Fenster - soll jedoch die alte Session weiterhin gültig sein.
Wozu ich das brauche:
Ich generiere aus einer Session Variable ein Submenu. Dieses setzt sich dynamisches zusammen.
Ich habe die Hauptmenüpunkte A B und C und die Unterseiten a b und c.
Um auf die Seite c zu gelangen kann man z.B. den Weg über A -> a -> c wählen.
Jedoch sind z.B. auch folgende Wege denkbar: A -> c oder B -> b -> c
Das Submenu zeigt letztendlich nur den Weg den der Benutzer genommen hat. Dazu habe ich eine Session Variable ($_SESSION) die bei dem Weg A -> c wie folgt aufgebaut ist:
Code:
Array ( => Array ( => ?sec=A
=> Menü Punkt A )
=> Array ( => ?sec=c
=> Unterpunkt c )
)
Falls der Benutzer bei einem Hauptmenüpunkt steht: Array lerren und $_SESSION füllen.
Bei einem Unterpunkt: durchlaufe Array und suche, ob dieser Menüpunkt schon vorhanden ist. Wenn ja: lösche alles dahinter. Wenn nein: Füge neues Element am Ende ein.
Lange Rede kleines Problem:
Wenn der Benutzer jetzt ein zweites Fenster öffnet, haut das natürlich mein Submenu durcheinander.
Mein Post ist jetzt doch ein wenig länger geworden als erwartet. Deshalb gleich noch eine Frage hinterher: Hat jemand vielleicht eine andere Idee wie man ein Submenü so dynamisch wie beschrieben, aufbauen kann?
Ich freue mich auf eure Lösungsvorschläge, und bedanke mich für's durchlesen