Ergebnis 1 bis 8 von 8

Thema: OnUnload Problem

  1. #1
    Großmeister(in)
    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard OnUnload Problem

    Hi.
    Ich habe ein frameset in dem ich gerne eine Funktion einbauen würde, die beim verlassen der Seite die Session zerstört.
    Dazu habe ich beim OnUnload eine JS Funktion aufgerufen die ein Fenster aufpoppen lässt in dem ein session_destroy() aufgerufen wird.
    Das ansich funktioniert.
    Aber leider wird auch beim aktualisieren der Seite via F5 oder Aktualisierungsbutton die Session zerstört.
    Ich habe schon versucht, einfach den Namen der URL auszulesen und mit dem Pfad zu vergleichen auf dem das frameset liegt.
    Das funktioniert aber nicht, da, auch wenn man eine neue URL eintippt beim Verlassen der Seite die Url vom Frameset weiterhin ausgelesen wird.

    Vielleicht hat von euch einer eine Idee.
    Hier noch mal zusammengefasst, falls mans oben nicht so verstehen konnte:
    Beim verlassen der Seite soll die Session zerstört werden.

    Gruß
    Mir nicht
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Viele Grüße

    Mir nicht

  2. #2
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wieso machst du das überhaupt ?
    der sinn einer session ist doch, dass sie am ende des besuchs (schiessen den browsers) eben nicht mehr existiert
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  3. #3
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wenn du von meiner Seite mit der Session auf eine andere Wechselst, dann bleibt die Session erhalten, weil das Session Cookie 10 Stunden gültig ist.
    Das mit den 10 Stunden soll auch so sein.
    Aber wenn nun einer die Seite verlässt, soll das Cookie nichtmehr gültig sein.
    Sobald du mit dem Browser auf eine andere Seite gehts, soll die Session zerstört werden.
    Das soll aus Sicherheitsgründen geschehen.
    Wenn z.B. ein Mitarbeiter von dieser Seite auf eine andere Wechselt und dann den Arbeitsplatz verlässt, kann irgendjemand kommen und zweimal auf den Zurück Button drücken und schon kann er im Programm arbeiten.
    Damit das nicht passiern kann soll eben das obengenannte gemacht werden.
    Viele Grüße

    Mir nicht

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    dann must du wohl die livetime runterstellen. die die zeit ja jedes mal beim seiten aufruf erneuert wird...

    andere möglichkeit sehe ich da nicht... da der browser die ja solange speichert wie er offen ist.. und nciht soo lange wie das fenster offen ist...

    möglich währe jedoch für die aufgabe einen extra browser....



    Oder bessere idee...

    du schreisbt das unod in die DB...

    und lässt alle 5 min einen cron jop drüber...

    dann noch beim seiten laden eien funktion, diese eintrag wiedr löscht...

    so das wenn der eintrag des unload länger als 3min in der DB steht. dass denn die sesison datei gelöscht wird... bzw ungeloadet ....

    verstehst die variation ?!

  5. #5
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich galube ich verstehe deinen Ansatz GreenRover, aber das Löst das Problem nicht, wenn ich das richtig verstanden habe.

    Also nochmal:
    Ich logge mich ein:
    -> Session wird gestartet; Session Cokkie hält 10 Stunden (1 Arbeitstag)
    -> Ich kann ganz normal arbeiten
    -> Ich verlasse die Seite und gebe in die Adresszeile des Browsers z.B. www.forum-hilfe.de ein
    -> BEVOR ich auf forum-hilfe gelange, MUSS die Session der anderen Seite zerstört werden.

    Umkehrschluss:
    Wenn ich die Seite 10 Stunden lang nicht verlasse, kann ich 10 Stunden lang mit dem Webprogramm arbeiten, ohne dass ich mich neu einloggen muss.

    Dabei das Problem:
    Mit einem reinen onUnload wird die Session auch beim aktualisieren der Seite zerstört!

    Und nocheinmal die Essen:
    Beim verlassen der Seite auf irgendeine Art (Browser schließen, neue URL...) soll die Session zerstört werden. Aber nicht beim aktualisieren!

    Fragen? Fragen!
    Viele Grüße

    Mir nicht

  6. #6
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nee liest dir mal den unteren teil mit der besseren idee durch... das dürfte die diel lösung sein.. zumindest halte ich es dafür..

  7. #7
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ok ich glaub jetzt hab ichs geblickt.
    Super Idee.
    Ich würds aber andersherum machen.

    Ind DB Extra Spalte: Eingeloggt!
    Sobald man auf die erste Seite kommt wird eine 1 gesetzt!
    Immer kontrollieren, ob eins gesetzt ansonsten Session daten Löschen.

    ABER:
    Die Kontrolle, ob das Flag gesetzt ist läuf immer, auch wenn keiner angemeldet ist.
    Wenn er nun die Null in der DB findet, versucht er immer nichtvorhandene SessionDaten zu löschen.
    Kriegt er dann nicht nen Error.

    Naja wie auch immer. Wenn du eine Antwort weißt, immer her damit.
    Ansonsten schönes WE.
    Ich mach jetzt Feierabend.

    Viel Spass beim Fußball dieses We

    Mir nicht
    Viele Grüße

    Mir nicht

  8. #8
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja, die idee ist nicht schlecht...

    ein feld für die SID, eins für ein/ausgelogt und eins für letzte aktion...

    dann löscht destroys du einfach die session wenn lezteaktion+3min<time() ist .


    das feld der SID brauchst jaum sie zu vernichten ....

Ähnliche Themen

  1. body onload + body onunload in einer Seite machbar?
    Von Semmel im Forum HTML & CSS Forum
    Antworten: 13
    Letzter Beitrag: 18.08.2004, 16:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •