php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.11.2004, 00:53  
Ypsillon
Gast
 
Beiträge: n/a
Standard Anzeigen User Online + Nicks

Hi,

Info: Jeder eingeloggte User hat in meinem System eine SessionID.[Nickname]

"Was ich wolle": Ich will anzeigen wie viele($user_online), und vor allem WELCHE User Online sind[ZUM ZEITPUNKT DES LADENS DER SEITE].

Ich will keine "Onlinetabelle" machen, weil ich ja nicht in den Table eintragen kann, wenn der User wieder offline geht, ohne sich auszuloggen, dann wärs ja kein Problem.

KONKRET: jaaa, bla ich suche hier - man soll ja eigentlich nicht hier suchen, aber ich komme aber mit google und manual nicht weiter.

Gibts ne Möglichkeit das man Beispielsweise alle SessionVars der Benutzer auslesen kann?
ala [USERNAME1][USERNAME3][USERNAME3]

Wer kann mir da helfen? Wie löst man sowas?

Marc
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.11.2004, 01:12  
Ypsillon
Gast
 
Beiträge: n/a
Standard

Theroretische Lösung:
http://www.phpfriend.de/forum/viewto...t=nicks+online
Unelegant -weil an einer IP festgemacht
-> Problem 1000 Studenten hinter einer IP.


Wer weis was?
  Mit Zitat antworten
Alt 11.11.2004, 01:51  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

Zitat:
Gibts ne Möglichkeit das man Beispielsweise alle SessionVars der Benutzer auslesen kann?
ala [USERNAME1][USERNAME3][USERNAME3]
selbst wenn du ne moeglichkeit findest, das zu machen (ich sage nur security flaw), stellt das dich vor genau das selbe problem wie die beruehmte online-tabelle, naemlich dass auch die session files nich wissen, ob der user jetz noch online is, oder ob er einfach den brauser zugemacht hat...

edit: und wo siehst du in dem andern beitrag ne IP-Adresse ??
noch was, such doch noch mal nach diesem thema oder was aehmlichem. das ham wir hier im forum schon so oft durchgekaut. da gabs auch mal was ausfuehrliches zu...
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 11.11.2004, 21:13  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

aaalso was wohl am einfachsten ist wenn du bei jedem user der eingeloggt ist und eine seite aufruft den aktuellen timestamp in den db eintrag des users speicherst... und dann eben auf der who's online seite alle user ausliest wo der timestamp maximal z.b. 3 minuten alt ist... also der vor maximal 3 minuten einmal auf der website geklickt hat...
Flor1an ist offline   Mit Zitat antworten
Alt 12.11.2004, 14:09  
Ypsillon
Gast
 
Beiträge: n/a
Standard

Alsooooooo Danke für Deine Antwort, habse jetzt erst gelesen.
Für alle die zukünftig sowas machen wollen, das hier:

Ihr macht ne Tabelle whoisonline mit den Spalten: Username/Logintime.

Bei jedem Aufruf einer Seite, löscht Ihr per DB Aufruf alle Zeilen deren Timestamp < als eine bestimme Zeit ist. Die Zeit muss man eben bestimmen:
Code:
<?
//Definition der Variablen 
$WhoisonlineMaxTime="3600"; // Zeit in Sekunden, nach denen Nutzer als offline gemeldet werden
$Whoisakttime=time();

//Erstmal alle Einträge löschen, die älter sind, als eine bestimmte Zeit($WhoisonlineMaxTime)
$WhoisDeleteTime=$Whoisakttime-$WhoisonlineMaxTime;
include("$dbpath\openDb.inc.php");
$result="DELETE FROM `whoisonline`WHERE `logintime` < '$WhoisDeleteTime'";
mysql_query($result);
?>
Der Eingelogte User hat in seinem Header ein kleines Include, ich kopiers hier mal rein:

Code:
<?
//Abfragen, ob der Nick des Users noch in der WhoisOnlinetablle gespeichert ist

include("$dbpath\openDb.inc.php");
$recordCount = "select count(nickname) from whoisonline where nickname like '$Nickname'";
$totalRowsResult = mysql_query($recordCount, $dbverbindung);
$totalRows = mysql_fetch_row($totalRowsResult);

//Wenn der Nickname noch nicht oder nicht mehr drinnen steht, reinschreiben
if($totalRows[0]=="0")
	{
	$aklogintime=time();
	include("$dbpath\openDb.inc.php");
	$result="INSERT INTO `whoisonline` ( `nickname` , `logintime` ) VALUES ('$Nickname', '$aklogintime')";
	mysql_query($result);
	}


//Wenn der Nickname schon drin steht, aktuelle Zeit in die DB schreiben.
else
	{
	$aklogintime=time();
	include("$dbpath\openDb.inc.php");
	$abfrage="UPDATE whoisonline SET logintime = '$aklogintime' WHERE nickname = '$Nickname'";
	mysql_query($abfrage,$dbverbindung);
	}

?>
Noch zur Info: $Nickname ist eine SessionID. DB Fehler halt noch bitteschön abfangen, das muss ich noch machen.



Grüße

Marc

P.s.: Und das noch in der logout Prozedur:

Code:
//User aus dem Onlinetable Löschen
include("..\DB\openDb.inc.php");
$result="DELETE FROM `whoisonline`WHERE nickname = '$Nickname'";
mysql_query($result);
  Mit Zitat antworten
Antwort


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 -/ Offline-Status eines Benutzers anzeigen nicobischof PHP Tipps 2006 2 19.01.2006 14:31
User-Script + User Online = geht net Chrisber PHP Tipps 2005-2 3 26.10.2005 11:21
FTP-Funktionen: Können 2 Leute mit selben User online sein? ggfan PHP Tipps 2005-2 1 11.08.2005 13:13
Fehler bei User Online Freeaak PHP Tipps 2005-2 9 10.07.2005 22:21
user online counter $$$ ThiKool $$$ PHP Tipps 2005-2 3 01.07.2005 22:24
Online User PHP Tipps 2005-2 9 15.06.2005 23:46
Alle user die online sind anzeigen - wann und wie löschen? PHP Tipps 2005 11 24.05.2005 16:01
User Online Script Mano PHP Tipps 2005 3 21.03.2005 03:22
Suche Script zum anzeigen wer gerade Online ist Beitragsarchiv 7 02.03.2005 20:24
user online! ist mein weg richtig? Fraylman PHP Tipps 2004-2 8 10.12.2004 10:15
user online PHP Tipps 2004 4 26.09.2004 22:59
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 PHP Tipps 2004 4 30.06.2004 23:05
User online Simon9990 PHP Tipps 2004 8 17.06.2004 00:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
online user anzeigen, php user anzeigen, user online anzeige, online nicks, php benutzer anzeigen, user nicks, http://www.php.de/php-fortgeschrittene/12104-anzeigen-user-online-nicks.html, online user anzeoigen, php online benutzer, user online php, online benutzer anzeigen, user online anzeigen, php user online, php benutzername anzeigen, online user anzeige, aktuelle user auflisten php, php \user online\, website user anzeigen, user anzeigen php, php benutzer auflisten

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