Ankündigung

Einklappen
Keine Ankündigung bisher.

User online

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • User online

    Hi Also ich hab hier ein Tutorial "USer online".

    Also das zeigt an wie viele User in den letzten 5 Minuten oder so online waren.
    Aber wie mach ich jetzt eines das anzeigt WELCHE USER in den letzten ppar Minuten online waren??
    Also mit
    Code:
    <?
    $result = mysql_query("SELECT * FROM user WHERE userip LIKE '$ip'");
    ?>
    Das würde warscheinlich nicht gehen oder?
    Da die IPS ja ähnlich sein könnten.
    Aber wie sonst??
    Also hier erst mal das Tutorial:

    Code:
    <?
    $db = mysql_connect($db_host,$db_user,$db_passwort) or die("Konnte Verbindung nicht herstellen: ".mysql_error());
    mysql_select_db($db_name,$db) or die("Konnte Datenbank nicht finden");
    
    $time = explode(" ", microtime());   //Hier gibts die MicroTime  bsp: 0.86646800 1057693054
    $ltime = (double)$time[0];      //der linke teil also 0.86646800. double ist Variablentyp
    $rtime = (double)$time[1];      //der rechte teil also 1057693054. double ist Variablentyp
    $UserId = $ltime + $rtime;  // Hier wird aus beiden teilen in addition(deswegen der Variablentyp) eine 99%ig einzigartige ID erstellt
    $IP = $_SERVER['REMOTE_ADDR'];  // Remote Adresse des Users, oder besser gesagt die IP bsp: 127.0.0.1 (localhost)
    $dummy =""; //Einfach so lassen die brauchen wir später um ein paar Daten zu speichern
    
    $delete_time = $rtime - $online_time; //jetzige Zeit minus unsere $online time
    $query = "DELETE FROM".$tabelle." WHERE TIME < ".$delete_time;
    $delete =  mysql_query($query) or die(mysql_error());
    
    $query = "SELECT IP FROM".$tabelle." WHERE IP = '".$IP."'"; // Query zum Abfragen der IP
    $result = mysql_query($query) or die(mysql_error());
    $dummy = mysql_num_rows($result);
    
    if ($dummy == 0) {                        //wenn IP nicht drinne steht User einfügen
    $ok_query = "INSERT INTO ".$tabelle." (UserID,IP,NAME,TIME) VALUES ('".$UserId."','".$IP."','".$HOST."','".$rtime."')";
    $ok = mysql_query($query) or die("Insert fehlgeschlagen: ".mysql_error());
    }
    $query = "SELECT COUNT(IP) as total FROM ".$tabelle; // Summe der Einträge in der Spalte ID als 'total' auswählen
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);      
    echo "es sind ".$row['total']."user online";
    ?>
    Gruss Simon
    Der G-Translator

  • #2
    http://www.dclp-faq.de/q/q-code-user-online.html

    dateibasiertes script ...
    http://www.codeschnipsel.net/index.p...&id=1075379483
    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

    Kommentar


    • #3
      Re: User online

      Zitat von Simon9990
      Da die IPS ja ähnlich sein könnten.
      ähnlich, aber nicht identisch!!!!!!!!
      **********************************
      Will jemand eine Jungfrau frein,
      darf er nicht penibel sein.
      (Heinz Erhardt)
      **********************************

      Kommentar


      • #4
        HI @Ben ja das hab ich jetzt schon bestimmt tasuend mal gelesen
        Aber ich möcte es einfach so wie bei phpbb oder so haben.Also das es anzeigt WER in den LETZTEN PAAR MINUTEN ON WAR.
        Aber wie mach ich daS?

        dirk aber identisch können sie ja gar nicht sein.
        Denn fast jeder Provider teilt dem User bei jedem neustart des Insternets eine neue IP aus.
        Und deshalb wenn das so ginge müsste ich es ja mit LIKE machen.
        Aber wie mach ich es sonst?

        Wäre das illeicht möglich wenn ich die IP und die SESSION auslese und dann vergeliche?'??
        Kann mir bitte jemand mal helfen??

        Gruss SImon
        Der G-Translator

        Kommentar


        • #5
          Zitat von Simon9990
          HI @Ben ja das hab ich jetzt schon bestimmt tasuend mal gelesen
          Aber ich möcte es einfach so wie bei phpbb oder so haben.Also das es anzeigt WER in den LETZTEN PAAR MINUTEN ON WAR.
          Aber wie mach ich daS?

          dirk aber identisch können sie ja gar nicht sein.
          Denn fast jeder Provider teilt dem User bei jedem neustart des Insternets eine neue IP aus.
          Und deshalb wenn das so ginge müsste ich es ja mit LIKE machen.
          Aber wie mach ich es sonst?

          Wäre das illeicht möglich wenn ich die IP und die SESSION auslese und dann vergeliche?'??
          Kann mir bitte jemand mal helfen??

          Gruss SImon
          danke für den hinweis
          mein fehler:
          mein letztes posting musste heißen:
          ähnlich, aber eindeutig!!!
          eine ip ist immer eindeutig.
          d.h. bei einem provider wie z.b t-online wird dir bei jeder einwahl ins
          internet eine neue ip zugewiesem.
          alternative: eine feste ip bei deinem isp.
          sorry für mein versehen.
          dirk
          **********************************
          Will jemand eine Jungfrau frein,
          darf er nicht penibel sein.
          (Heinz Erhardt)
          **********************************

          Kommentar


          • #6
            @Dirk aber wie könnte ich das dann machen?
            Würde das funktionieren mit

            SELECT * FROM user WHERE userip LIKE ip ?????

            Gruss Simon
            Der G-Translator

            Kommentar


            • #7
              hast du da schon gelesen??
              **********************************
              Will jemand eine Jungfrau frein,
              darf er nicht penibel sein.
              (Heinz Erhardt)
              **********************************

              Kommentar


              • #8
                Ja aber da istz doch nur so ein Script wie ich es bereits habe und dann die Erklärung aber könntest du mir bitte sagen wie ich das machen soll??

                Gruss Simon
                Der G-Translator

                Kommentar


                • #9
                  du speicherst bei scriptauruf den timestamp und die ip ab und aktualisierst dann immer den timestamp, wenn eine datei aufgerufen wird.
                  voraussetzung ist natürlich die gleiche ip

                  für die ausgabe prüfst dann beim jedem scriptaufruf, ob der gespeicherte timestamp um x sekunden kleiner ist, als der aktuelle ..

                  fertig ..

                  ein tipp.

                  es heißt
                  Code:
                  SELECT irgendwas FROM tabelle WHERE spalte = $ip
                  vergess das mit dem LIKE in diesem falle mal .. und les dir besser mal durch, wann das verwendet wird .

                  in meinem codebsp. habe ich alle hochkommata etc. weggelassen ..

                  grüße ben ..
                  [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                  Kommentar

                  Lädt...
                  X