Realtime-User-Zähler

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

  • Realtime-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. zusätzlich will ich für den fall der fälle eine livetime verwenden können

    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ß Seegoggel

  • #2
    Re: Realtime-User-Zähler

    unbelehrbar ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      nicht unbelehrbar - um genau zu sein hätte ich nur gerne konstruktive antworten

      Kommentar


      • #4
        Original geschrieben von seegoggel
        nicht unbelehrbar - um genau zu sein hätte ich nur gerne konstruktive antworten
        besser als auf selfhtml kann man es nicht sagen: HTTP ist das falsche Protokoll, JavaScript ist zu simpel um eine 100%tige Lösung zu bieten

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          ich weiß das es möglich ist über URL eine Variable an php zu übergeben und das es möglich ist eine variable aus php in JS zu importieren. ich weiß weiter das sowohl onload als auch onunload
          funktionieren. warum soll ein zähler nicht auf diesen möglichkeiten augebaut werden können?????????????????
          Mich interessiert dabei weder die Zuverlässigkeit (wird zur Not per livetime oder cronjob einmal täglich zurückgesetzt), noch wie primitiv HTML oder JS ist oder wie blöd mein vorhaben für ausenstehende sein mag oder das jemand JS deaktiviert haben könnte (wer das hat bekommt erst gar kein popup). ich bin davon überzeugt das es möglich ist. ich würde das ja zur not mit einem autoreload und livetime der ip lösen (was erst recht ein sch*** wäre), kann ich aber in dem popup nicht machen, da sonst andere Daten verloren gehen würden. ich will beim öffnen ein ''einloggen'' und beim schließen ein ''ausloggen'' egal wie - und wenns mit perl ist. und das in PHP übergeben, dass ich in der lage bin von jeder anderen stelle meiner seite die aktuelle userzahl aus zu lesen und aus zu geben. und wenn da mal einer hängen bleibt ist das auch wurschd (siehe oben).

          Kommentar


          • #6
            dann mach das doch so wie du es beschrieben hast?!

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              so und nu für alle "unbelehrbar..." und Co.


              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

              Kommentar


              • #8
                Du zählst hiermit nicht die User im Chat sondern die aktuelle Differenz zwischen geöffneten und geschlossenen Popups.
                Wobei du generell nur die User erfasst, die JS haben und das Schließen abermals nur von der Untermenge derer, die einen Browser benutzen, der onunload() überhaupt ausführt.

                Es geht doch hier um User im Chat, also warum nicht einfach serverseitig zählen, wie viele Clients aktuell den Chat ausgegeben bekommen?

                Kommentar


                • #9
                  Ja mehr wollte ich ja auch nicht, meine Problemstellung war:

                  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 mit dem Javascrip hatte ich gesagt ist auch kein problem

                  das jemand JS deaktiviert haben könnte (wer das hat bekommt erst gar kein popup)
                  das popup ist gleichzeitig der chat, hier wird direkt eine java-applet geladen, sprich zahl derer die das popup geöffnet haben == zahl derer die im chat sind. standardmäßig ist onUnload im IE und im Firefox aktiviert (auch mit XP SP II oder Norton) und auf mehr muß ich bei meiner Klientel nicht achten.

                  mehr wollt ich nicht und das hab ich mit onUnload hinbekommen. herzlichen dank nochmal an die zwei aus dem ''Kompetenzteam''.

                  was jetzt natürlich noch eine irre steigerung wäre, ist eine direkte abfrage über einen BOT in IRC mit TCL und dann ebenfalls die anzahl der wirklich gerade vorhandenen user (also auch die, die z.b. über mirc ins irc gehen) als einfache zahl in einer einfachen txt-datei oder wenn nötig in eine mysql-datenbank hinterlegen. dann wäre das richtig gut.

                  gruß Seegoggel

                  Kommentar

                  Lädt...
                  X