Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Check Online (php)

  1. #1
    HTML Newbie
    Registriert seit
    15.01.2007
    Ort
    Lüneburg
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Check Online (php)

    Ich möchte ,das wenn sich ein User auf meiner Seite eingeloggt hat, das er dann als "Online" (auf meiner seite) angezeigt wird (für alle anderen User bzw. Gäste)! Das Online setzen ist kein Problem, allerdings wie kriege ich das hin, ihn offline zu setzen, d.h. wenn dieses meine Seite verlässt, das er dann wieder als Offline angezeigt wird (wenn es dafür einen Befehl bzw. eine Funktion gibt, dann habe ich sie nocht nicht gefunden)? Ich hoffe ich hab das so erklärt das man es versteht smiling smiley... Währe cool wenn mir jemand helfen könnte!Ach ja was ich noch sagen wollte, ich kann auf meinem Server keine Corn Jobs ausführen und ich möchte kein Javascript benutzen!

    MFG Henning
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    deine frage ist eigentlich ganz einfach zu beantworten
    du setzt ja wohl irgendwo in der datenbank ein feld auf 1 oder sonstwas wenn der user online kommt... und wenn er den logout button klickt, wird das wieder auf 0 gesetzt.... noch besser ist, wenn du die zeit auch mitspeichern würdest.... dann hast du sagen wir mal eine verweilzeit von 5 minuten und änderst dementsprechend deine sql abfrage so, dass der user nur online angezeigt wird, wenn der letzte klick nicht länger als 5 min zurück liegt.... musst dann naürlich den timestamp ab und zu erneuern... pro klick zum beispiel oder 2. klick wie auch immer...
    könntest auch die sessions analysieren dann brauchste keine extra tabelle, was natürlich viel zu aufwendig und unnötig ist....

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    15.01.2007
    Ort
    Lüneburg
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja na klar würde das gehen ^^ . allerdings das mit dem logout button fällt schon mal weg .. weil wer drückt den denn bitte heut zu tage noch !? .. und das mit dem 5 minuten ding fällt auch weg ^^ will ne echtzeit anzeige habe ^^ .. ich weiß isn bissel viel verlangt, aber die von webspell . falls du das kennst... schaffen das auch irgendwie ^^ bin da nur net durchgestiegen wie die das machen

  4. #4
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    Um festzustellen, ob der PC!! eines Users noch online ist, benötigst du einen ständigen Datenaustausch zwischen Server und Client. So etwas macht nur Traffic, aber nicht wirklich Sinn, denn du kannst damit nicht feststellen, ob der User überhaupt noch vor dem PC sitzt, oder ob er evtl. eingepennt oder in die Badewanne gegangen ist.

    Der Weg über die Überwachung der Seitenaufrufe ist der einzig sinnvolle, wenn der User mehr als 5 Min. keine andere Seite angeklickt hat, dann ist er offline.

    G.a.d.M.

    Ronald

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    15.01.2007
    Ort
    Lüneburg
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nein so mein ich das doch net .. ich will/möchte eine echtzeit anzeige ob der user auf meiner seite noch eingeloggt ist .. oder ob er dieses bereits verlassen hat .. NICHT ob der user (PC) noch online ist oder nicht ... löl .. !

  6. #6
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wenn dus in "echtzeit" haben möchtest:

    1. ein stream aufbauen (z.B. ajax, perl geht auch)

    2 alle 2 sekunden in der datenbank ein timestamp erneuern... also immer fortlaufend....

    3. dann ein select machen, der diesen timestamp mit der aktuellen zeit vergleicht... ist das ding älter als 3 sekunden, ist der user offline....

    fertig hast du ein 2 sekunden verzögerten "echtzeit" online status.....
    dann würde mich ma interessieren, was du fürn server hast.... mit webspace kannste das glatt vergessen.... und ich möchte nicht wissen was da an traffic aufkommt......

    problem wird dann, wenn die ladezeit deiner seite (es gibt ja auch noch modem user) über mehrere sekunden dauert... dann wird der user auch als offline makiert...

    ich schätze das nichtmal 2% der menschen diesen lösungsansatz verwenden würden.... normal macht man das einfach über die session tabelle.... so ist das z.B. hier im forum auch

  7. #7
    HTML Newbie
    Themenstarter

    Registriert seit
    15.01.2007
    Ort
    Lüneburg
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja ne da shaste recht ^^ also ich gehöre zu den anderen 98% .. ja werd ich das wohl über dei session tabelle machen müssen obwohl dei jungs von webspell da snur mit php gemacht haben und nur einer spalte mit einem wert 0 oder 1 ^^ .. ich werd da wohl nie hinter kommen
    also muss ich das ungefähr so machen :
    Code:
    // WHO IS - WAS ONLINE
    $timeout=5; // 1 sekunde
    $deltime = time()-($timeout*60); // IS 1m
    $wasdeltime = time()-(60*60*24); // WAS 24h
    
    safe_query("UPDATE ".PREFIX."user SET ip='$ip' WHERE userID='$userID'");
    safe_query&#40;"DELETE FROM ".PREFIX."whoisonline WHERE time < '$deltime'"&#41;;  // IS ONLINE
    safe_query&#40;"DELETE FROM ".PREFIX."whowasonline WHERE time < '$wasdeltime'"&#41;;  // WAS ONLINE
    
    /
    
    //WHOISONLINE
    
    if&#40;$userID!=''&#41; &#123;
        // IS ONLINE
    	if&#40;mysql_num_rows&#40;safe_query&#40;"SELECT userID FROM ".PREFIX."whoisonline WHERE userID='$userID'"&#41;&#41;&#41; &#123;
    	    safe_query&#40;"UPDATE ".PREFIX."whoisonline SET time='".time&#40;&#41;."', site='$site' WHERE userID='$userID'"&#41;;
    		safe_query&#40;"UPDATE ".PREFIX."user SET lastlogin='".time&#40;&#41;."' WHERE userID='$userID'"&#41;;
    	&#125;	
        else safe_query&#40;"INSERT INTO ".PREFIX."whoisonline &#40;time, userID, nickname, site&#41; VALUES &#40;'".time&#40;&#41;."', '$userID', '".mysql_escape_string&#40;getnickname&#40;$userID&#41;&#41;."', '$site'&#41;"&#41;;
    	
    	// WAS ONLINE
    	if&#40;mysql_num_rows&#40;safe_query&#40;"SELECT userID FROM ".PREFIX."whowasonline WHERE userID='$userID'"&#41;&#41;&#41;  
    		safe_query&#40;"UPDATE ".PREFIX."whowasonline SET time='".time&#40;&#41;."', site='$site' WHERE userID='$userID'"&#41;;
        else safe_query&#40;"INSERT INTO ".PREFIX."whowasonline &#40;time, userID, nickname, site&#41; VALUES &#40;'".time&#40;&#41;."', '$userID', '".mysql_escape_string&#40;getnickname&#40;$userID&#41;&#41;."', '$site'&#41;"&#41;;
    &#125;
    else &#123;
        $anz = mysql_num_rows&#40;safe_query&#40;"SELECT ip FROM ".PREFIX."whoisonline WHERE ip='$ip'"&#41;&#41;;
        if&#40;$anz&#41; safe_query&#40;"UPDATE ".PREFIX."whoisonline SET time='".time&#40;&#41;."', site='$site' WHERE ip='$ip'"&#41;;
        else safe_query&#40;"INSERT INTO ".PREFIX."whoisonline &#40;time, ip, site&#41; VALUES &#40;'".time&#40;&#41;."','$ip', '$site'&#41;"&#41;;
    &#125;
    
    
    
    function isonline&#40;$userID&#41; &#123;
        $ergebnis=safe_query&#40;"SELECT site FROM ".PREFIX."whoisonline WHERE userID='$userID'"&#41;;
    	$anz=mysql_num_rows&#40;$ergebnis&#41;;
    	if&#40;$anz&#41; &#123;
    	    $ds=mysql_fetch_array&#40;$ergebnis&#41;;
    		return '<font color="#009f00">online</font> @ '.$ds&#91;site&#93;.'';
    	&#125;	
    	else return 'offline';
    &#125;
    [/quote]

  8. #8
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wenn du schon weißt wie deren tabelle ausschaut, warum fragste nicht wie die das gemacht haben?

  9. #9
    HTML Newbie
    Themenstarter

    Registriert seit
    15.01.2007
    Ort
    Lüneburg
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja ne die wollen wir das ja net sagen

  10. #10
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also ich bin noch nicht ganz wach, aber zu dem code den du gepostet hast...
    warum machste das in 2 verschiedenen tabellen? kannste doch auch in einer machen...

Ähnliche Themen

  1. Browser-Check
    Von Jane im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 19.02.2007, 23:14
  2. PC Check
    Von Nightstalker im Forum Computer - Internet Forum
    Antworten: 6
    Letzter Beitrag: 10.01.2007, 11:36
  3. domain check
    Von Webby im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 02.07.2005, 14:44
  4. Irgendwas check i da ned!!!!
    Von Hörbi im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 13.07.2004, 22:30
  5. check!! it
    Von panica_bkc im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 1
    Letzter Beitrag: 27.06.2004, 02:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •