Onlinestatusscript
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeigen
autologin
beispiel
beitrag
benutzer
betreiben
clan
ecken
fehler
gedacht
login
minute
resource
result
script
session
set
tabelle
tutorial
update
- 
    
    Hi
 
 Brauche ne Useronlinescript oder (oder progge selber) wie kann ich ?berpr?fen ob er gerade online ist.
 Ich habe gedacht mit ip, aber wei? nicht genau...
 
 besser w?r wenn ich selbe progge. ich hab auch gedacht fsocket pr?fen das ist ja eher f?r laufende server.
 
 
 mfg SchokoPudding :p
 
 
 Beitrag ge?ndert am 30.08.2005 19:47 von bilo
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 
- 
    
    kuck doch hier mal unter tutorials nach. Da gibts eins ?ber den online status glaube ich....
 
 mfg Neo666
- 
    
    hatte ich schon... dachte ich auch aber net gefunden.
 
 ich brauch ja nur was ich machen muss... beispiel: ich denk mal brauche ip.... und mysql... ... mehr wei? ich net l?l ^^
- 
    
    http://www.lima-city.de/tutorials.php?m=show&id=453
 
 da gibts so ein TUtorial.
 Was dz da genau brauchst, kann ich dir leider acuh nicht sagen.
 
 mfg Neo666
- 
    
    lol sorry das kann ich nicht gebrauchen
 das ist f?r Server.
 
 Brauche eine sowas wie bei lima "Benutzer online"
- 
    
    ?hm
 du machst nen member script glaube ich
 du machst nen Feld der den status ermitelt
 aslo wen der user eingelogt ist steht das Feld 1 und wenn nicht dann 0
 un dann machste draus nen script der abfragt was da steht
 if ($bla == 1){
 echo "online";
 }
 else
 {
 echo "offline";
 }
 
 Beitrag ge?ndert am 30.08.2005 19:53 von psih
- 
    
    Nee, ich mache ne flirt seite f?r unser kaff...
 eigentlich nur friendsMeet, aber mal sehen.
 
 Also ich habe eine Suchfunktion f?r user suchen und ne profile ansehen. Login ist mit session und wird als $username gespeichert.
 
 kann ich auch machen ... h??...
 kann ich auch machen das er bei session erhalten ne 1 kriegt?.. da muss ich mal bissel ?berlegen l?l
 
 Beitrag ge?ndert am 30.08.2005 23:06 von bilo
- 
    
    Schau mal bei php-resource.de rein, vielleicht
 findest du da was passendes.
 
 Ich hab auch paar gute Scripts in Betrieb,
 die allerdings etwas komplizierter sind und
 leider auf Lima net laufen - ist auch - ist auch
 mehr was aus der Server-Ecke...
 
 Hab aber auf Lima ein kleines Script,
 das mir anzeigen kann, wer auf unserem
 Clan-TeamSpeak Server online ist -
 keine Ahnung wie das funktioniert aber
 es ist tierisch genial
- 
    
    Schau mal bei php-resource.de rein, vielleicht
 findest du da was passendes.
 
 Ich hab auch paar gute Scripts in Betrieb,
 die allerdings etwas komplizierter sind und
 leider auf Lima net laufen - ist auch - ist auch
 mehr was aus der Server-Ecke...
 
 Hab aber auf Lima ein kleines Script,
 das mir anzeigen kann, wer auf unserem
 Clan-TeamSpeak Server online ist -
 keine Ahnung wie das funktioniert aber
 es ist tierisch genial
- 
    
    jo da hatte ich schon.. hab aber nichts gefunden... phpkit hat doch sowas oder phpbb =)
 
 ich hab sehr viel gegooglet und hab herausgefunden das man ne timestamp brauch uind dann muss ich ?berpr?fen
 
 also wie kann ich beispiel ?berpr?fen, wenn der user jetzt aktuelle zeit 20.18uhr hat und ich will mit if ?berpr?fen wenn 5 minuten abgelaufen ist(also 20.23uhr ?berschritten) dann soll er sagen offline
 aber wenn halt unter 5 minuten ist dann online.
 
- 
    
    Das Script d?rfte nach Deinen Vorstellungen etwa so aussehen:
 
 <? /*** Eintragen eines Users in die Datenbank. Falls die IP bereits vorhanden ist, wird die Uhrzeit upgedatet ***/ $conn = mysql_connect("mysql.lima-city.de", "USERxxxx", "passwort") or die("Verbindung konnte nicht hergestellt werden!"); mysql_select_db("DBxxxxxxxxxxxx"); $ip = $_SERVER['REMOTE_ADDR']; $sql = "SELECT * FROM online WHERE ip = '". $ip ."'"; $result = mysql_query($sql); if(mysql_num_rows($result)) == 0) { $timestamp = time(); $sql = "INSERT INTO online (ip, timestamp) VALUES ('". $ip ."', '". $timestamp ."')"; $result = mysql_query($sql, $conn); if($result === FALSE) { print("Es ist ein Fehler beim Eintragen aufgetreten. MySQL meldet: ". mysql_error()); } else { print("Das Eintragen verlief fehlerfrei.<br />"); } } else { $timestamp = time(); $sql = "UPDATE online SET timestamp = '". $timestamp ."' WHERE ip = '". $ip ."'"; $result = mysql_query($sql, $conn); if($result === FALSE) { print("Es ist ein Fehler beim Updaten der MySQL-Tabelle aufgetreten. MySQL meldet: ". mysql_error()); } else { print("Das Updaten verlief fehlerfrei.<br />"); } } ?>
 
 
 //edit: ich habe den quote-Tag in einen code-Tag ge?ndert
 
 //edit2: Nach der Ver?nderung des quotes- zu einem code-Tag, wurden einige Zeilenumbr?hen eingef?gt, da ansonsten die Tabelle auseinangergerissen wird.
 
 //edit3: Tabelle wird immernoch verzogen 
 Beitrag ge?ndert am 31.08.2005 14:06 von compactdisc
 
 Beitrag ge?ndert am 31.08.2005 14:09 von compactdisc
 
 Beitrag ge?ndert am 31.08.2005 14:09 von compactdisc
 
 Beitrag ge?ndert am 31.08.2005 14:10 von compactdisc
- 
    
    jo sowas hab ich schon... jetzt brauch ich nur wie ich ?berpr?fen kann ob er online ist.. also irgendwie zeit ?berpr?fen
- 
    
    Mit diesem Code kann ein Benutzer anhand der IP ausgelesen werden:
 
 // Verbindung zur DB $sql = "SELECT * FROM online WHERE ip = '". $ip ."'"; $result = mysql_query($sql); if($result === FALSE) { print("Die Datenbank-Abfrage schlug fehl.<br />"); } $row = mysql_fetch_assoc($result); if(mysql_num_rows($result)) >= 1) { print("Benutzer ". $row['user'] ." ist online!"); }
 
 
 Dienst, der alle Eintr?ge aus der Datenbank l?scht, die l?nger als 10 Minuten existieren:
 
 // Verbindung zur Datenbank // Onlinezeit in Minuten, wer l?nger als angegeben // keine Aktion durchf?hrt, gilt als offline $online = 5; $offline = time() - ($online * 60); $sql = "DELETE FROM online WHERE timestamp <= '". $offline ."'"; $result = mysql_query($sql); if($result === FALSE) { print("Das L?schen aus der Datenbank schlug fehl.<br />");
- 
    
    Schonmal im Voraus:
 Diese L?sung geht nur, wenn kein Autologin vorhanden ist
 
 wieso das ganze nicht einfacher machen? vorallem weil einige user evtl ein ip-changer verwenden^^
 
 ich w?rde bei jedem user noch eine weitere spalte machen: online
 
 dann: beim login Update ... SET online = 'ja' WHERE user='membername'
 
 dann kann man das ja so abfragen:
 SELECT online FROM ... WHERE user='membername'
 
 if online='ja' echo membername ist Online
 else echo Membername ist offline
 und bei logout Update ... SET online = 'nein' WHERE user='membername'
 
 wenn der member die Seite verl?sst muss noch ?berpr?ft werden, ob eine usersession vorhanden ist. wenn ja, so wird der schritt der bei logout kommt von alleine gemacht, so, dass die session beendet ist...
 
 oder du machst es mit der ip... musste eben speichern...aber wie gesagt, eeinige benutzen nen ip-changer..oder wenn autlogin z.b. per cookie geschieht, aber er offline war und wieder online - und somit eine neue ip hat - bringt das auch nicht altzuviel^^
 
 
 Wenn du noch n paar fragen dazu hast, melde dich bei mir ;)..(bin aber kaum online, da ich mein neues mb noch net habe und nur ab und zu bei meinem bruder on gehe)
 
 Beitrag ge?ndert am 2.09.2005 13:42 von specialdune
- 
    
    ahh jetzt habs kappiert oki thx....
 
 ich teste mal jetzt wenn probs kommen (sehr wahrscheinlich *hihihi*) dann poste ich mal hier... also no close hier xP
 
 hab kein autologin
 
 Beitrag ge?ndert am 2.09.2005 18:10 von bilo
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage