php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.12.2004, 11:06  
Gast
 
Beiträge: n/a
Standard Aktuelle Anzahl eingeloggter User ermitteln?

Hallo zusammen,

da hier im Forum augenscheinlich viele Doppelpostings grassieren und viele User davon entnervt sind, hoffe ich mal, dass ich trotz Benutzung der Such-Funktion den passenden Thread nicht einfach nur übersehen habe. Sollte dies der Fall sein, dann: Sorry!

Ich stehe vor folgender Ausgangssituation

Es gibt in meiner MySQL-Datenbank eine Tabelle wow_ums, die alle relevanten User-Daten enthält, wie Username, Passwort (MD5), Session-ID, E-Mail-Adresse etc. Nun habe ich mir mit Hilfe eines Tutorials im Netz eine Login- und Logout-Prozedur geschrieben.

Der Ablauf ist einfach:
--> Eingabe der Zugangsdaten per Formular
--> Prüfung der Zugangsdaten per SQL
--> Bei korrekten Daten erfolgt der Eintrag der Session-ID in die DB

--> Steht die Session-ID in der DB folgt, dass der User online ist.

--> Loggt sich der User aus, wird die Session-ID aus der DB gelöscht.

Im Grunde finde ich dieses Variante nicht schlecht, denn die Anzahl der eingetragenen Session-IDs ist theoretisch gleich der Anzahl der eingeloggten Benutzer. Leider aber nicht in der Praxis, denn wenn der User nicht brav ist und sich beim Verlassen ausloggt, dann bleibt die Session-ID eingetragen und der User ist Pseudo-Online...

Was kann ich dagegen tun? Für hilfreiche Tipps wäre ich sehr dankbar.

Gruß,

Patrick
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.12.2004, 11:12  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Du legst das Datum des letzten Zugriffs ab, und führst regelmässig ein Script aus, welches alle Session-IDs, die seit ner halben Stunde oder so inaktiv sind, killt.

Regelmässiges Ausführen erreichst Du über einen Cronjob oder über eine Ausführung mit einer gewissen Wahrscheinlichkeit bei jedem Scriptaufruf, also Du schmeisst einen Zufallsgenerator an, und mit einer Wahrscheinlichkeit von einem Prozent oder so wird bei jedem Scriptaufruf die Aufräum-Funktion angeschmissen.

Ergänzend kannst Du auch eine Javascript-Funktion bauen, die ein automatisches Ausloggen bewirkt, wenn das letzte Browserfenster geschlossen wird.
__________________
mod = master of disaster
Waq ist offline  
Alt 02.12.2004, 11:13  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard Re: Aktuelle Anzahl eingeloggter User ermitteln?

Zitat:
Zitat von Malphas
Was kann ich dagegen tun? Für hilfreiche Tipps wäre ich sehr dankbar.
SIDs in der DB mit aktivität versehen und ausaltern lassen
Guradia ist offline  
Alt 02.12.2004, 11:43  
Gast
 
Beiträge: n/a
Standard

@Waq: Danke für den Tipp... Ich hatte sogar schon ein Feld für den Zeitpunkt der letzten Aktivität vorgesehen... Cronjobs sind mir allerdings total neu und soweit ich das gesehen habe, gibt's die von meinem Webhoster nicht... Die freien kosten Geld oder funktionieren anscheinend nur einmal am Tag (siehe selfphp.info). Ein solcher Cronjob müsste ja wenigstens alle 15 Minuten laufen.

Die Variante zwei das per Zufallsgenerator bei Aufruf im Skript zu machen funktioniert sicherlich, wenn ich allerdings extrem niedrige Userzahlen habe, dann kann es passieren, dass es nur alle drei Tage mal zum "Aufräumen" kommt...

Diese beiden Lösungen sind also nur bedingt praktikabel und bei jedem Skriptauruf den Data-Wipe zu machen ist wohl zu rechenintensiv...

@Guradia: Deinen Tipp verstehe ich leider nicht ganz. Wie kann ich einen DB-Eintrag "ausaltern" lassen? Klingt wirklich interessant. Kannst du mir das etwas genauer erklären?

Auf jeden Fall vielen Dank euch beiden für den schnellen Support.
 
Alt 02.12.2004, 11:52  
Gast
 
Beiträge: n/a
Standard

Hmm... eventuell könnte ich das realisieren, wenn ich mir eine Tabelle mache, in der auch noch der Zeitpunkt des letzten Checks vermerkt wird...

Wenn dann mehr als 20 Minuten vergangen sind, führt er den Check aus und ersetzt die Zeit in der Tabelle.

Welchen Wert haltet ihr aus eurer Erfahrung für sinnvoll? Sind 20 Minuten in Ordnung?
 
Alt 02.12.2004, 12:16  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Malphas
Sind 20 Minuten in Ordnung?
viel zu lang. so etwas sollte bei jedem scriptaufruf geschehen, sonst ist doch die aktualität fürn a****
imported_Ben ist offline  
Alt 02.12.2004, 13:03  
Gast
 
Beiträge: n/a
Standard

Okay, dann probiere ich das mal

Danke sehr!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
aktuelle tabellen id ermitteln imported_dirk PHP Tipps 2006 3 10.10.2006 01:50
Anzahl User auf mySQL? Curanai Datenbanken 9 25.05.2006 22:25
Anzahl Zeilen in Textarea ermitteln? HTML, Usability und Barrierefreiheit 11 24.05.2006 14:43
vergangene Anzahl Tage ermitteln... PHP Tipps 2006 3 30.04.2006 18:17
User sollen die Anzahl der Eingabefelder bestimmen können PHP Tipps 2006 1 15.04.2006 18:54
Aus mehreren Tabellen (Foren) den Top User ermitteln wizzardxx PHP Tipps 2006 9 15.02.2006 10:39
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
[Erledigt] Anzahl der Gruppenwechsel ermitteln Datenbanken 6 10.06.2005 10:47
[Erledigt] MySQL user rausfinden Datenbanken 4 26.05.2005 12:15
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
Anzahl der Bücher in Kategorien ermitteln PHP Tipps 2004-2 4 09.11.2004 22:00
user liste aktuelle halten PHP-Fortgeschrittene 4 30.10.2004 14:15
Anzahl der Datensätze mit gleicher ID ermitteln? PHP Tipps 2004 3 18.10.2004 20:08
Anzahl von Zeichen ermitteln PHP Tipps 2004 3 20.08.2004 15:56
Anzahl von DS ermitteln Datenbanken 7 19.07.2004 19:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2004-2/13375-aktuelle-anzahl-eingeloggter-user-ermitteln.html, crontab tag bestimmen, php nutzer anzahl, access anzahl benutzer, anzahl eingeloggter user anzeigen, php session anzahl, eingeloggte user der website ermitteln php, php session anzahl eingeloggter user, anzahl sessions ermitteln php, php anzahl eingeloggter user, anzahl benutzer auf einer datenbank, access anzahl user, aktuelle einträge ermitteln mysql, php anzahl user bestimmen, aus session user ermitteln, php akuteller user, access benutzer ermitteln, useranzahl ermitteln, anzahl aktiver benutzer ermitteln login logout, wie kann man mit php den aktuellen benutzer herausfinden

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.