Useronlinescript aber mal anders?

2Pac

Erfahrenes Mitglied
Hallo Leute!
Ich habe im Forum schon gesucht aber nix passendes gefunden...
mein Problem ist folgendes:
Ich ahbe ein Auto-Login gebastelt über Cookies. Und nun möchte ich bei dem Login für die eingeloggten Leute sagen wer gerade sich auf der Seite befindet und eingeloggt ist und dazu dann eben die Nickname anzeigen. Aber ich hab echt kein Plan wie ich da ran gehen soll vor allem man muss beachten das der Login eben auto-login ist und per cookies geht. Bitte helft mir Danke ;)
 
gaaaaaaaaaaaaaaaaaaaaaaaanz einfach:

in den header jeder seite machst du nen befehl der time(); in die user db zum user speichert ...

du holst dir die cookie dateien ( ka was du hast ) wie nick,pw und am besten ne unique id, machst nen select*from table where nick=nick and pw=pw and id=id befehl

nun nen update bla set onlinetime=time()

d.h. wenn jemand auf die seite kommt und die 3 sachen im cookie stehen und in ner db setzt er die onlinetime auf jetzt -> user is online

in der anzeige musst du nun noch
PHP:
<?php 
$res = mysql_query("SELECT * FROM $membertable WHERE onlinetime>='".(time()-300)."'"); 

while ($data = mysql_fetch_array($res)) {
echo $data[nick];
}

machen.

erklärung:
er sucht alle datensätze wo die onlinetime größer als jetzt minus 300sekunden is, d.h. welcher user eine aktivität in den letzten 5 minuten hatte
 
also es klappt net so ganz passt auf ich mache folgendes:
-kontrollieren ob cookies gesetzt sind
-wenn ja steht in der datenbank in der tabelle damembers in der spalte letzterbesuch eine 0 (wird beim eintragen der members automatisch 0 gesetzt)
-wenn 0 dann echo du bist das 1. mal eingeloggt
-wenn nicht 0 dann schreibe du warst das letzte mal da am: $besuch (vorher aus datanbank gelesen also wieder letzterbesuch)
-dann die üblichen login sachen erstmal schreiben lassen über echo
-dann mache ich das hier:
while ($data = mysql_fetch_array($res2))
{
echo "<center>$data[nickname]</center>";
}
echo "<form action='ausgeloggt.php' method='Post'>
<p align='center'>
<input type='submit' value='Logout'>
</p>
</form>";
$heute = time();
mysql_db_query("$DatabaseName", "update damembers set letzterbesuch = '$heute' where nickname = '$nickname'");

soweit so gut es kommen schonmal keine fehlermeldungen nur tritt jetzt was komisches ein und zwar folgendes:
er zählt alle members auf die in der datanbank vorhanden sind aber die sind ja net alle online ^^ und das 2. problem welches auftritt ist das er oben nicht sagt jo du bist das letzte mal da gewesen am: sondern er meint jetzt du bist das 1. mal eingeloggt ^^

Em weiss jemand woran das jetzt liegt....?
 
Zurück