ilch Forum » Allgemein » HTML, PHP, SQL,... » besucherzähler online

Geschlossen
  1. #1
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    hallo,

    ich habe ein besucherzähler entwickelt

    <?php
    $fname = 'zaehler.txt';
    
    if (file_exists($fname)) {
        $fp = fopen($fname, "r");
        $zaehler = fread($fp,filesize($fname));
        fclose($fp);
    
        if (is_writeable($fname)) {
            $fp = fopen($fname,"w");
            $zaehler++;
            fwrite($fp, $zaehler);
            fclose($fp);
            echo "Sie sind besucher Nummer ".$zaehler." !";
        } else {
            echo "Kein Schreibzugriff!";
        }
    } else {
        echo "Datei existiert nicht!";
    }
    ?>


    wie kann ich hinzufügen, wieviele user gerade online sind?
    kennt sich damit jemand aus
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    s_down Mitglied
    Registriert seit
    11.04.2005
    Beiträge
    1.194
    Beitragswertungen
    0 Beitragspunkte
    Hatten das erst gerade im Forum... weiss aber nicht mehr genau in welcher Datei du es findest...
    Würde sgaen functions/forum/irgendwas.php
    Probleme mit dem installieren?
    externer Link
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    hab nix so richtig gefunden.
    veilleicht hat ja noch jemand ne idee!?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    s_down Mitglied
    Registriert seit
    11.04.2005
    Beiträge
    1.194
    Beitragswertungen
    0 Beitragspunkte
    Aus 1.0.5 show_forum.php:
    # statistic #
    $ges_online_user = ges_online();
    $stats_array = array (
      'topics' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_topics`"),0),
    	'posts' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_posts`"),0),
    	'users' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_user`"),0),
    	'istsind' => ( $ges_online_user > 1 ? 'sind' : 'ist' ),
    	'gesonline' => $ges_online_user,
    	'gastonline' => ges_gast_online(),
    	'useronline' => ges_user_online(),
    	'userliste' => user_online_liste()
    );

    Aus 1.1 show_forum.php:
    # statistic #
    $ges_online_user = ges_online();
    $stats_array = array (
      'privmsgpopup' => check_for_pm_popup (),
      'topics' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_topics`"),0),
      'posts' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_posts`"),0),
      'users' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_user`"),0),
      'istsind' => ( $ges_online_user > 1 ? 'sind' : 'ist' ),
      'gesonline' => $ges_online_user,
      'gastonline' => ges_gast_online(),
      'useronline' => ges_user_online(),
      'userliste' => user_online_liste()
    );
    Probleme mit dem installieren?
    externer Link
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    gibt es auch was ohne datenbank?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    hallo,

    ich habe ein script. hab ihn auf meine bedürfnisse
    umgeschrieben.
    dieses script zeigt nichts an!
    wo liegt mein fehler?
    kennt sich damit jemand aus?

    <?php
    /*
      user_online.php - Anzahl der Besucher Online
    */
    
    // Konfiguration
    $besucher_online_konfiguration = array (
      // in welcher Datei soll es gespeichert werden
      'datei' => 'zaehler2.txt',
      // wie lange soll es dauern, bis ein Eintrag verfällt
      'zeitlimit' => 300 // 5 Minuten
    );
    
    // zählt den aktuellen Besucher
    function zaehle_besucher ($ident) {
      // hole die Liste
      $liste = hole_besucher_liste ();
    
      // fuege das aktuelle Identifikationskriterium mit aktuellem Datum hinzu
      $liste[$ident] = time ();
    
      // schreibe die Liste
      schreibe_besucher_liste ($liste);
    }
    
    // holt die Liste aus einer Datei
    function hole_besucher_liste () {
      // importiere die Konfiguration
      global $besucher_online_konfiguration;
    
      // initialisiere Array
      $zeilen = array ();
    
      // öffne datei
      $fh = fopen ($besucher_online_konfiguration['datei'], 'r');
    
      // fehler?
      if (!is_resource ($fh)) {
        return array ();
      }
    
      // sperre datei
      $res = flock ($fh, LOCK_SH);
    
      // gehe Zeilen durch
      while (!feof ($fh)) {
        $zeilen[] = fgets ($fh);
      }
    
      // entsperre Datei und schließe sie
      flock ($fh, LOCK_UN);
      fclose ($fh);
    
      $ergebnis = array ();
      // gehe die Zeilen durch
      foreach ($zeilen as $zeile) {
        // trenne Identifikationskriterium von Zeitstempel
        list ($ident, $stempel) = explode ('|', $zeile, 2);
        // wenn Identifikationskriterium leer ist, dann übergehen
        if (empty ($ident)) {
          continue;
        }
    
        // wenn stempel zu alt ist
        if ($stempel < time() - $besucher_online_konfiguration['zeitlimit']) {
          // übergehen
          continue;
        }
    
        // füge zum Ergebnis hinzu
        $ergebnis[$ident] = (int)$stempel;
      }
      return $ergebnis;
    }
    
    // gibt die Anzahl der Besucher zurück
    function anzahl_besucher () {
      return count (hole_besucher_liste ());
    }
    
    // schreibe die Liste zurück
    function schreibe_besucher_liste ($liste) {
      // importiere die Konfiguration
      global $besucher_online_konfiguration;
    
      $ergebnis = '';
      // gehe die Liste durch
      foreach ($liste as $ident => $stempel) {
        $ergebnis .= "$ident|$stempel\n";
      }
    
      // öffne datei
      $datei = fopen ($besucher_online_konfiguration['datei'], 'w');
    
      // sperre datei
      flock ($datei, LOCK_EX);
    
      // Fehler?
      if (!is_resource ($datei)) {
        return false;
      }
    
      // schreibe das ergebnis
      $cnt = fwrite ($datei, $ergebnis);
    
      // fehler?
      if ($cnt === false) {
        // entsperren und schließen
        flock ($datei, LOCK_UN);
        fclose ($datei);
        return false;
      }
    
      // schließe die Datei
      flock ($datei, LOCK_UN);
      fclose ($datei);
    
      // wir sind fertig
      return true;
    }
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    seth Mitglied
    Registriert seit
    12.03.2005
    Beiträge
    2.018
    Beitragswertungen
    1 Beitragspunkte
    dein fehler liegt daran, dass du nichts ausgibst, also wird da auch nix angezeigt:

    externer Link
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    die datei zaehler2.txt bleibt aber auch irgendwie leer (auf´m server)
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    s_down Mitglied
    Registriert seit
    11.04.2005
    Beiträge
    1.194
    Beitragswertungen
    0 Beitragspunkte
    ich denke es ist r+ oder w+ wenn du schreiben willst....
    Probleme mit dem installieren?
    externer Link
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    du hattest recht, mit w+ werden datei geschrieben.

    es wird aber immer noch nix in diese datei geschrieben
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    seth Mitglied
    Registriert seit
    12.03.2005
    Beiträge
    2.018
    Beitragswertungen
    1 Beitragspunkte
    hat der ordner schreibrechte ?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    janrichter Mitglied
    Registriert seit
    03.04.2006
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    ja, hab alle rechte aktiviert.
    immer noch nix
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten