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
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
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