zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Automatisch ausloggen bzw. Aktivstatus anzeigen, wie macht ihr das?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 04.11.2007, 17:15
A noobish expert
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 11.10.2007
Beiträge: 126
spacegaier befindet sich auf einem aufstrebenden Ast
Standard Automatisch ausloggen bzw. Aktivstatus anzeigen, wie macht ihr das?

Hallo zusammen,

in meinem aktuellen Projekt, kann man sich ein- und wieder ausloggen.
Oftmals ist es ja aber so, das man sich einloggt und nacher nicht wieder ausloggt. Jetzt ist aber das Problem, wie soll ich dann erkennen, ob z.B. im Forum neue Beiträge vorhanden sind. Oder wie soll ich das handhaben bei der Anzeige, wer gerade online ist?

Meine Überlegung war in meiner DB zusätzlich zu den Spalten last_login und last_logout noch ein Spalte last_action einzubauen. In diese müsste ich dann halt bei jedem Ausführen eines Scripts die momentane Zeit eintragen (verdammt viel Zugriffe auf die DB dann, oder?). Dann könnte ich diesen Wert nehmen und schauen ob es in der Post-Tabelle Beiträge gibt, deren Erstelldatum jünger ist, als das last_action-Datum des Users und diese Beiträge dann kennzeichnen.

Doch wie beim Anzeigen, wer gerade online ist? Soll ich dann einfach sagen, wer länger als eine halbe Stunde nix mehr gemacht hat, wird automatisch ausgeloggt. Dies müsste ich dann ja in dem Script prüfen, dass jeder User automatisch aufruft, wenn er meine Seite betritt (index.php). Dies würde dann doch aber wieder den Seitenaufbau verzögern, was sich bei der Startseite ja nicht gerade gut macht.

Was haltet ihr von diesen Ansätzen bzw. wie habt ihr das Problem gelöst?

PS: Ich habe leider keine Crownjobs zur Verfügung, die mir hier vielleicht helfen könnten, in dem sie alle paar Minuten, irgendwas kontrollieren.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 04.11.2007, 18:14
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zu der Thematik mit dem "Wer ist Online" da mach ich es sehr einfach. Wie dein Ansatz schon ist in die DB eine "last_action" schreiben und das am besten mit einem Zeit Hast egal ob PHP oder MySQL und dann bei der Abfrage sagen

WHERE `last_action` >= NOW()-10min

natürlich kein richtig Syntaktischer Mysql Befehl.

Aber wie du vielleicht an der Beispiel Abfrage siehst würde ich nicht länger wie 10 Minuten sagen das der User Online ist.

Gruß
Timo
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.11.2007, 21:13
A noobish expert
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 11.10.2007
Beiträge: 126
spacegaier befindet sich auf einem aufstrebenden Ast
Standard

D.h. ich muss in jedem Script, dass der User aufruft eine Funktion implementieren, welche die aktuelle Zeit in die Spalte schreibt. Bedeutet das nicht sehr Auslastung für den Server / die DB?
Mit Zitat antworten
  #4 (permalink)  
Alt 04.11.2007, 22:35
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Also wenn du das Include "System" verwendest. Also eine Index.php und jeder Inhalt wird includet. Kannst du das in die Index an den Schluss machen (dann kannst du im verlauf des Scripts noch den "alten" Zeitstempel nehmen wegen den Beiträgen usw.

Ich weiß nicht wie groß dein Projekt ist aber wenn du nicht mehrere Hundert User gleichzeitig hast und dein Webserver nicht gerade ein P2 ist müsste das hinhauen. Ich machs auch so und noch kein Ausfall gehabt.

Gruß
Timo
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #5 (permalink)  
Alt 04.11.2007, 22:39
A noobish expert
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 11.10.2007
Beiträge: 126
spacegaier befindet sich auf einem aufstrebenden Ast
Standard

Okay, habe es jetzt mal so umgesetzt.

Habe die Funktion die die last_action-Spalte aktualisiert ganz ans Ende der index.php gesetzt -> es wird erst per echo die eigentliche Seite ausgegeben und dann die Spalte geändert, so das der User bereits die Seite sieht, während die MySQL-Abfrage läuft.

Danke soweit mal.
Mit Zitat antworten
  #6 (permalink)  
Alt 04.11.2007, 22:55
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

kein Problem
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
in einer bildergallerie das erste bild automatisch anzeigen lassen randomdude Offtopic 2 30.09.2009 10:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:33 Uhr.