Ulf: Moment-User-Zähler

Hallo,

ich suche eine Möglichkeit dafür, dass ein user beim betreten einer Seite die Userzahl um 1 erhöht und beim Verlassen wieder um 1 verringert.

das Hochzählen und nach einer gewissen zeit den wert wieder zu veringern wie das in php-user-zählern sonst gemacht wird mit einer livetime ist kein problem aber nicht das gelbe vom ei.

ich stelle mir aber sowas vor wie javascript onload und onunload und das dann mit php kombiniert um eine variable auf den server in eine datei schreiben zu können. der user kommt -> onload = variable + 1 und geht -> onunload = variable - 1. der wert soll in eine textdatei geschrieben werden.

das ganze wird nachher in einem popup eingebaut und der wert soll auf der hauptseite ausgegeben werden. (es befinden sich gerade ... user im chat (chat = popup))

gruß Ulf

  1. Hi Ulf!

    ich stelle mir aber sowas vor wie javascript onload und onunload und das dann mit php kombiniert um eine variable auf den server in eine datei schreiben zu können. der user kommt -> onload = variable + 1 und geht -> onunload = variable - 1. der wert soll in eine textdatei geschrieben werden.

    Und was tust du, wenn bei jemandem der Rechner oder die Internetverbindung abstürzt?

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Moin!

    ich stelle mir aber sowas vor wie javascript onload und onunload

    Vergiss es einfach. Das HTTP-Protokoll war, ist, bleibt verbindungslos. Also geht das, was Du willst, nicht. Die Anzahl der User würde in Deinem Fall kontinuierlich steigen, weil spätestens beim Beenden des Browsers ein Ereignis "unload" nicht stattfindet.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. Moin!

      ich stelle mir aber sowas vor wie javascript onload und onunload

      Vergiss es einfach. Das HTTP-Protokoll war, ist, bleibt verbindungslos. Also geht das, was Du willst, nicht. Die Anzahl der User würde in Deinem Fall kontinuierlich steigen, weil spätestens beim Beenden des Browsers ein Ereignis "unload" nicht stattfindet.

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      Wieso würde onunload nicht stattfinden? ich kann mich dumpf an popups erinnern die ich mal spaßeshalber popups geschrieben hatte die nach dem schließen des selbigen sich einfach wieder geöffnet haben *?!?*
      ich gebe zu mit onunload hab ich bedenken mit z.b. MS Firewall die massiv in den Browser eingreift. für den fall einer ''leiche'' würde ich einen cronjob starten der einmal täglich den zähler zurücksetzt oder eine livetime von ein paar stunden. das problem ist, dass ich nicht weiß wie lange sich jemand in dem chat aufhält das kann von ein paar sekunden bis hin zu stunden alles sein. sprich mit IP-livetime kuck ich in die röhre. da könnte es mir dann passieren das mir irgendwann 0 angezeigt wird obwohl das nicht stimmt.

      gruß

      Ulf

  3. hi,

    das Hochzählen und nach einer gewissen zeit den wert wieder zu veringern wie das in php-user-zählern sonst gemacht wird mit einer livetime ist kein problem aber nicht das gelbe vom ei.

    Stimmt - dass sind solche "Zähler" aber ja auch allgemein nicht.

    ich stelle mir aber sowas vor wie javascript onload und onunload und das dann mit php kombiniert um eine variable auf den server in eine datei schreiben zu können.

    Fein.
    Dann schreib aber bitte gleich dabei, dass dieser Zähler allerhöchstens die User aus der Gruppe zählt, die Javascript aktiviert haben.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. @wahsaga

      Stimmt - dass sind solche "Zähler" aber ja auch allgemein nicht.

      danach hatte ich nicht gefragt

      Fein. Dann schreib aber bitte gleich dabei, dass dieser Zähler allerhöchstens die User aus der Gruppe zählt, die Javascript aktiviert haben.

      nicht der inhalt (war mir bereits bekannt), nur die art: absolut unqualifiziert

  4. so und nu für alle "geh doch heim" oder "ich weiß mehr als Du" hier die Lösung bzw. einer der Wege nach Rom.

    index.php-code
    --------------

    <?php
    $logfile = "chat.log";

    $fp = fopen($logfile,"r");
    $zahl = fgets($fp,10);
    fclose($fp);$zahl++;
    $fp = fopen($logfile,"w");
    flock($fp,2);
    fputs($fp,$zahl);
    flock($fp,3);
    fclose($fp);
    ?>

    <html>
    <head>
    <title>Chartroom</title>
    <script language='javascript'>
    function CloseWindow() {
    parent.frames.location.href = 'minus.php';
    alert('Viel Spaß heute noch und schau mal wieder in unserem Chatroom vorbei!');
    }
    </script>
    </head>
    <frameset cols='*' border='0' onUnload='CloseWindow()'>
    <frame name='Chatroom' src='chat.html' scrolling='auto' marginheight='0' marginwidth='10' frameborder='0' noresize>
    </frameset>
    <body>
    </body>
    </html>

    minus.php-code
    --------------

    <?
    $logfile = "chat.log";

    $fp = fopen($logfile,"r");
    $zahl = fgets($fp,10);
    fclose($fp);$zahl--;
    $fp = fopen($logfile,"w");
    flock($fp,2);
    fputs($fp,$zahl);
    flock($fp,3);
    fclose($fp);
    ?>

    auslesen.php-code
    -----------------

    <?
    $zaehlerz_anmelden = "chat.log";
    $fpz = fopen($zaehlerz_anmelden,"r");
    $zahlz = fgets($fpz,10);

    echo "<span class="textg"> $zahlz User im Chat | </span>";
    ?>

    chat.log-code
    -------------

    0

    gruß, der lamer