user online ohne Datenbank im Hintergrund anzeigen....

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

  • user online ohne Datenbank im Hintergrund anzeigen....

    geht das, Leute??

    Bin da nämlich durch zufall auf folgendes script gestoßen:
    UserOnline:
    // Schreiben des Eintrags in eine Tabelle...
    $database= "";
    $sqlhost= "";
    $sqluser= "";
    $sqlpass= "";

    mysql_connect($sqlhost,$sqluser,$sqlpass) OR DIE( "Couldn't connect to MySQL server!");
    mysql_select_db($database) OR DIE( "Couldn't select database!");

    $logtab = "userlog";

    $time = explode( " ", microtime());
    $userusec = (double)$time[0];
    $usersec = (double)$time[1];
    $User_Id = $usersec + $userusec;
    $IP = getenv(REMOTE_ADDR);

    $logtab = "userlog";

    $userlog = "";
    $deleteuser = mysql_query("delete from $logtab where DATE < $usersec -800");
    $userlog = mysql_fetch_row(MYSQL_QUERY("SELECT * FROM $logtab where IP like '$IP'"));

    if ($userlog == false) {
    $ok = mysql_query("insert INTO $logtab (ID,IP,NAME,DATE)
    VALUES('$User_Id','$IP','$HOST','$usersec')") or die("Unable to query my-db!");
    }

    $resultlogtab = mysql_query("SELECT Count(*) as total FROM $logtab");
    $numberlogtab = mysql_fetch_array($resultlogtab);

    // Hier wird die Anzahl der User ausgegeben...
    if ($numberlogtab[total] != ""){
    print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"-2\">
    <BR>$numberlogtab[total] User online</font>";
    }
    ?>

    Geht das ohne DB auch??
    $PHP resource 4ever$

  • #2
    Klar, so ziemlich alles, was du mit einer Datenbank machen kannst, kannst du auch mit Dateien machen. Da ich aber recht selten mit Dateien arbeite und keine Lust habe, mir jetzt die zuständigen Funktionen und deren Parameter anzusehen, überlasse ich die konkrete Lösung den Leuten, die das aus dem FF können.

    CAT Music Files

    Kommentar


    • #3
      hmmm,

      leider geht es mir genau wie Sky, wenn man mal DBs entdeckt hat pfeift man auf dateibasierende Sachen, aber wenn du es so machen willst, prinzipiell geht es genauso wie mit Datenbanken auch nur das du eben nicht die Tabelle einliest sondern die Datei.
      Am besten du machst dir ein paar funktionen, eine die Schreibt und eine die liest und es dann ausgibt wie es aus der DB kommen würde.
      am besten du wählst dir eine Trennzeichen und implodest alles und schreibst es in die Datei, beim auslesen liest du zuerst die Zeilen ein und dann explodest du sie in ein Array. Sollte so schwer nicht sein, was die Performance angeht will ich allerdings keine Aussage treffen. Da die Datei sehr häufig 'bewegt' wird, ist da mit Stress zu rechnen.

      Kommentar


      • #4
        Außerdem wird es zwangsläufig zu Konflikten kommen, wenn mehrere Leute gleichzeitig für Schreibzugriff sorgen ... ließe sich mit flock umgehen, aber bei zu vielen Zugriffen mußt du dir trotzdem was anderes überlegen.

        Eine Möglichkeit wäre, für jeden Benutzer eine Datei anzulegen, die beim Verlassen der Site wieder zu löschen, und für den Counter nachzuzählen, wieviele Dateien es gerade sind. Das läßt den Server aber auch nicht gerade kalt!
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          ok. danke für die Antworten, Leute.

          Wollte nur mal nachfragen.
          $PHP resource 4ever$

          Kommentar

          Lädt...
          X