php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.08.2006, 00:29  
Neuer Benutzer
 
Registriert seit: 13.06.2006
Beiträge: 22
Funky_
Standard ermitteln wer online ist

Ich würde gerne prüfen welche user sich eingeloggt haben und dieses dem entsprechenden user als Liste zur verfügung stellen!

Lösen würde ich das ganze gerne über eine Tabelle!
Beim einloggen wird der status des nicknamens, des users in einer spalte auf online gesetzt!

Das Funktioniert auch alles prima!

Problem ist das ausloggen! Was wenn sich der User nicht mehr ausloggt?
wie realisier ich es, das er nach z.b. einer Stunde des nichtstuns via skript ausgeloggt wird, welches dann gleichzeitig die online tabelle aktualisiert?

Eine Möglichkeit wäre, über jede seite die er, aufruft einen zeiteintrag in eine tabelle zu schreiben und diese gleichzeitig zu überprüfen ob jemand schon zu lange inaktiv war!
Doch was wenn z.b. nur er online ist und kein anderer User die Seiten mit dem script aufruft??? Dann wäre er ja ehwig online bis eben irgendwann jemand wieder meine Seite aufruft!
Oder was wenn er etwas herunterläd das vielleicht 3 Stunden dauert bis es fertig ist??? wenn er jetzt aufgrund der zeitüberschreitung rausfliegt wird doch der download auch abgebrochen, da es in einem .htaccess gesichertem Verzeichnis liegt, oder????

Weiß jemand wie man das realisieren könnte?
Gibts ne möglichkeit zu prüfen ob der Server daten mit dem User austauscht (zwecks download)? Oder kann man ein script veranlassen, das es unabhängig vom aufruf einer Seite regelmäßig ausgeführt wird, damit ich den onlinezustand regelmäßig prüfen könnte???
Funky_ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.08.2006, 01:13  
Benutzer
 
Registriert seit: 29.09.2005
Beiträge: 39
lamp
Standard

Hallo,

erstmal das vorweg: Zu 100% wirst Du nie genau sagen können, wer alles online ist, weil http nun mal ein statisches Protokoll ist. Man kann aber in die Trickkiste greifen.

Wenn ein User sich einloggt, ordnest Du Ihm eine eindeutige SessionID zu. Diese SessionID hat eine definierte Gültigkeit (=> php.ini). Wenn Du die SessionID in der DB mitspeichert (wie Du die Lösung eh schon angedacht hast), kannst Du z.B. mit einem cronjob in regelmässigen Abständen prüfen, welche User noch als "eingeloggt" in der DB stehen und immer die Session prüfen, ob diese noch aktiv ist. Parallel dazu kannst Du noch den Timestamp gegenprüfen.

Wenn jemand was 3 Stunden herunterläd, sollte er sich vielleicht mal einen anderen Zugang ins Internet verschaffen
Ich habe das jetzt zwar noch nicht in der Länge ausprobiert aber grundsätzlich ist es doch so, daß zu jeder Zeit ein aktiver Kontakt zum Server besteht. Also sollte die Session hier auch nicht abbrechen und der User weiterhin als "eingeloggt" bestehen bleiben. Erst wenn der User z.B. den download abbricht, wird die Session nach definierter Zeit ungültig und der User fliegt auch aus der DB raus, ohne sich manuell auszuloggen.
lamp ist offline  
Alt 10.08.2006, 08:18  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Zur Verständnis hilft folgendes vielleicht noch:

tut.php-q.net
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 10.08.2006, 08:36  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Funky!


Du musst bei jedem Seitenaufruf des Users "seine" online zeit verlängern...


d.h. du ermittelst den aktuellen timestamp und überprüfst, ob er schon zu lange inaktiv war!


So wird es, denke ich, meistens gemacht!
Damit ist es egal, ob er eine minute oder eine stunde online ist.


Und wenn er ewig online ist ( weil er der letzte user ist, der deine Page verlassen hat), dann ist er es halt..


Beim nächsten Seitenaufruf löscht einfach wieder jeden timestamp, der älter ist als X Stunden!

Der User auf der Page bekommt davon nichts mit!




mfg
Andi
DER_Brain ist offline  
Alt 10.08.2006, 12:13  
Neuer Benutzer
 
Registriert seit: 13.06.2006
Beiträge: 22
Funky_
Standard

Also erstma vielen dank für eure Hilfe! Im prinzip muss ich es dann wohl so änlich lösen wie ichs schon vermutet hab (timestamp)!

Das Tutorial auf tut.php-q.net ist gut! Allerdings werde ich das glaub lieber über den nicknamen oder die Session ID lösen, da das ganze nicht mehr ganz hinhaut wenn jemand eine wechselnde IP Adresse hat!

Die Lösung von lamp würde mir glaub ich am besten zusagen doch das problem ist,
Das ich bei meinem Confixx zwar nen Crontab anlegen kann, aber irgendwie funktioniert das mit dem befehl nicht!
Habe schon die Anleitung gewelzt, allerdings gibt die auch keinen Aufschluss über den pfad den das script haben muss!
Habe es mit /html/test.php probiert
mit http://absoluter_pfad.de/test.php
...
Weiß Jemand wie das geht???
Funky_ ist offline  
 


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
Online Funktion .. xuriorene PHP Tipps 2006 3 20.04.2006 20:15
Online Datenbank ! PHP Tipps 2005-2 3 23.09.2005 22:15
PHP läuft online nicht richtig! PHP-Fortgeschrittene 4 17.08.2005 01:02
build nummer des bs ermitteln ... nur bei microsoft's bs!!! PHP Tipps 2005-2 2 24.07.2005 15:59
Datenbank wird online nicht ausgelesen PHP Tipps 2005 7 27.05.2005 13:20
Besucher mit den meisten GB Einträgen ermitteln! Datenbanken 7 21.04.2005 12:09
Suche Script zum anzeigen wer gerade Online ist Beitragsarchiv 7 02.03.2005 20:24
Wer ist online? PHP Tipps 2004-2 4 24.12.2004 15:00
CRC Summe einer Datei ermitteln?? PHP Tipps 2004 1 14.10.2004 09:23
[Erledigt] Chat für 2 - Brauche Anzeige ob Gegenpart online ist PHP Tipps 2004 7 05.10.2004 22:51
[Erledigt] Tabellenname eines Feldes ermitteln PHP-Fortgeschrittene 3 22.09.2004 15:49
User online? Creativ PHP Tipps 2004 1 17.08.2004 22:34
User Online PHP Tipps 2004 5 17.08.2004 13:27
User online Simon9990 PHP Tipps 2004 8 17.06.2004 00:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
skype offline anzeigen erkennen, skype prüfen ob jemand online ist, skype unsichtbare sehen, skype online status herausfinden, skype status ermitteln, skype unsichtbar, skype status herausfinden, skype sehen ob jemand online ist, skype unsichtbar sehen, sehen ob jemand bei skype online ist, skype online status ermitteln, skype status prüfen, skype als offline anzeigen erkennen, skype sehen wer online ist, skype unsichtbar prüfen, skype online status prüfen, unsichtbar bei skype, skype online verzeichnis, skype als offline anzeigen herausfinden, skype status unsichtbar

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:19 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.