minicrispie: Klickzähler

Hi, ich bins mal wieder.
In meiner Homepage(http://home.arcor.de/minicrispie/index.html) möchte ich beim nächsten Update(29.06.2008 sofern ich das schaffe) auch einen Klickzähler mit PHP machen. Da ich aber nicht die geringste Ahnung von PHP habe bitte ich euch um hilfe.

Danke schon mal im vorraus !

--
Wo die Sprache aufhört, fängt die Musik an...
ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
  1. In meiner Homepage(http://home.arcor.de/minicrispie/index.html) möchte ich beim nächsten Update(29.06.2008 sofern ich das schaffe) auch einen Klickzähler mit PHP machen. Da ich aber nicht die geringste Ahnung von PHP habe bitte ich euch um hilfe.

    um deine nicht geringste ahnung etwas aufzumöbeln ist das eine gute idee - aber ein klickzähler auf einer website oder eine öffentlich zugängliche statistik ist ein do-not - genausp wie laufschriften

    folgende vorgehensweise:
    eine textdatei ("clicks.txt") mit folgendem inhalt
    0

    beim ausführend des scripts (sprich laden der seite) wird die datei geöffnet (fopen), der inhalt gelesen (fread) und um +1 nach oben gezählt und der alte inhalt überschrieben (fwrite), die variable ausgegeben (echo) und dann das file wieder geschlossen

    http://www.php.net/fopen
    http://www.php.net/fread
    http://www.php.net/fwrite
    http://www.php.net/echo
    http://www.php.net/fclose

    das ist die denkbar einfachste lösung - für ip- und reload-sperren oder ähnliches wirds dann komplizierter, aber das obrige (5 funktionen und 1x einfachste mathematik) wirst du sicher hingebekommen

    1. Also nochmal für alle:
      1. Der Lauftext kann durch draufhalten mit der Maus angehalten werden, insofern finde ich dass nicht schlimm.
      2. Beim Laden der Seite soll der Klickzähler aktiv werden. Sprich: Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren.
      Was ich vergessen habe aufzuschreiben, aber hier schon zur sprache kam:
      Der Klickzähler soll nicht öffentlich auf der Seite sein.
      ▼▼▼
      Die Idee mit der Textdatei und diesen 5 Funktionen hört sich gut an, bloß ob ich das umsetzen kann ist eine andere Frage...

      --
      Wo die Sprache aufhört, fängt die Musik an...
      ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
      1. Hi!
        Versuch mal  das als erste Übung.

        off:PP

        1. Ich nochmal !

          Versuch mal  das als erste Übung.

          Naja ich will aber nicht irgendwie Textausgeben. Ich will das so weit haben das der Benutzer nicht merkt, das etwas passiert (so ungefähr)

          Also ich hab das jetzt mal so versucht:

          <?php
          function Dazuzaehlen()
          {
          $filename = "Counter.txt";
          $handle = fopen ($filename, "r");
          $contents = fread ($handle, filesize ($filename));
          $Neu = ($contents + 1);
          int fwrite($handle, $Neu);
          fclose($handle)
          }
          ?>

          <body onload="Dazuzaehlen()">

          Ich weiß nur nicht ib das richtig ist --> warscheinlich nicht oder?

          --
          Wo die Sprache aufhört, fängt die Musik an...
          ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
          1. Ich weiß nur nicht ib das richtig ist --> warscheinlich nicht oder?

            du verwechselst javascript mit php

            versuchs mit
            function Dazuzaehlen();
            als direktaufruf ;)

            und um zu sehen ob der php interpreter überhaupt etwas tut versuchs mit echo "hello world" . 1 + 1; oder ähliches ;)

            1. Ich weiß nur nicht ib das richtig ist --> warscheinlich nicht oder?
              du verwechselst javascript mit php

              Kann ich mir vorstellen^^

              versuchs mit
              function Dazuzaehlen();
              als direktaufruf ;)

              Wie meinst du das mit direktaufruf ??
              Meinst du, das das onLoad nur für Javascript geht?
              Hmm... anders wüsste ich das aber jetzt auch nicht?

              --
              Wo die Sprache aufhört, fängt die Musik an...
              ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
              1. Wie meinst du das mit direktaufruf ??
                Meinst du, das das onLoad nur für Javascript geht?
                Hmm... anders wüsste ich das aber jetzt auch nicht?

                onload ist ein javascript eventhandler der dem browser sagt, er soll beim laden der seite etwas tun

                php wird serverseitig ausgeführt, sprich wenns im browser ankommt, muss es schon fertig geparsed sein

                mach bitte auf deinem server eine datei - die nennst du asd97hon2j3x89a7we.php oder wie auch immer und fügst dort folgendes ein

                <?php
                  phpinfo();
                ?>

                dann rufst du die seite im browser auf und sagst beischeid, was passiert
                wenn "nichts" passiert (sprich der code 1:1 so da steht) hast du keinen (aktiven) php-interpreter am webserver laufen

                wenn eine elendig lange tabelle mit php configurationsinformationen bekommst, kann dein server php (da ist übrigens auch zu lesen welche version) und du kannst weitermachen

                nach diesem test bitte die datei wieder löschen (und nenn die datei auf keinen fall phpinfo.php, info.php oder ähnliches) - das ist dann schön äusserst fahrlässig

                1. Es öffnet sich eine äußerst schöne weiße seite...
                  Nöö es passiert nichts ...

                  --
                  Wo die Sprache aufhört, fängt die Musik an...
                  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
                  1. Mahlzeit minicrispie,

                    Es öffnet sich eine äußerst schöne weiße seite...
                    Nöö es passiert nichts ...

                    Dann kannst Du es vergessen - oder das ganze nochmal mit dem Versuch, andere serverseitige Skriptsprachen (z.B. Perl, ASP, Python o.ä.) zu aktivieren, wiederholen.

                    Ohne serverseitige Programmierung jedoch wird es nichts werden.

                    MfG,
                    EKKi

                    --
                    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                    1. Ohne serverseitige Programmierung jedoch wird es nichts werden.

                      Oder Mal anders: könnt ihr mir einen PHP-Interpreter vorschlagen ?
                      (free download)

                      --
                      Wo die Sprache aufhört, fängt die Musik an...
                      ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
                      1. Ohne serverseitige Programmierung jedoch wird es nichts werden.

                        Oder Mal anders: könnt ihr mir einen PHP-Interpreter vorschlagen ?

                        php.net - alles andere ist nur kalter kaffee ;)

                        nachdem du offenbar bei einem host liegst, kannst du nicht einfach einen (DEN) php-interpreter installieren

                        eine alternative könnte für dich auch google-analytics sein, das funktioniert mit javascript und macht alles bereits von selbst - du musst nur ein paar zeilen javascript in deine seite kopieren

                        allerdings lernst du dann dabei nichts

                        1. Ok. ich hab jetzt ein Counter eingerichtet (siehe Impressum)...beim nächsten Upload wird dieser auf der Startseite (MySite) sein, von der man dann in die anderen Seiten kommt (MyHome, MyGames, ...)

                          Danke nochmal ! --> Problem gelöst !!!  *juppiiiii*

                          --
                          Wo die Sprache aufhört, fängt die Musik an...
                          ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
                      2. Ohne serverseitige Programmierung jedoch wird es nichts werden.

                        Oder Mal anders: könnt ihr mir einen PHP-Interpreter vorschlagen ?

                        Es gibt nur einen, aber den wirst du nicht auf dem Server installieren können, da Arcor mit Sicherheit etwas dagegen hat (wie übrigens alle anderen Hostinganbieter auch).

                        Und da PHP wohl nicht zur Verfügung steht, dürfte auch kein anderes serverseitiges Mittel zur Verfügung stehen, was wiederum bedeutet, dass du keinen Zähler einrichten können wirst. Es gibt kostenlose freie Zähler, manche lassen sich so einstellen, dass sie keine sichtbare Grafik ausgegen, und bei vielen müsste es auch möglich sein, die Zählergrafik mittels CSS auf 1x1 Pixel schrumpfen und damit nahezu unsichtbar werden zu lassen.

                        1. Naja, schade ... ich versuchs mal mit einem kostenlosen zähler ...

                          --
                          Wo die Sprache aufhört, fängt die Musik an...
                          ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
                  2. Es öffnet sich eine äußerst schöne weiße seite...
                    Nöö es passiert nichts ...

                    dann hast du keinen php-interpreter auf deinem server/webspace

                    alternativ kannst du noch versuchen, ob du einen asp/vb-script-interpreter zur verfügung hast

                    <%
                      response.write(ScriptEngine & ScriptEngineMajorVersion & ScriptEngineMinorVersion)
                    %>

                    file mit der endung .asp testen

      2. Hi minicrispie!

        Der Klickzähler soll nicht öffentlich auf der Seite sein.

        Dann nutze die Statistiken, die dir Arcor anbietet.

        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:)
        1. Dann nutze die Statistiken, die dir Arcor anbietet.

          Das geht nicht, da ich die Seite möglichst kostenfrei betreiben will (wette)

          --
          Wo die Sprache aufhört, fängt die Musik an...
          ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
  2. einen Klickzähler mit PHP machen. Da ich aber nicht die geringste Ahnung von PHP habe bitte ich euch um hilfe.

    Was ist ein Klickzähler bzw. welche Klicks sollen gezählt werden?

    1. Hi!

      Was ist ein Klickzähler bzw. welche Klicks sollen gezählt werden?

      Das damit ein 'Counter' gemeint ist, konnte man aber ohne Glaskugel raten, oder?

      off:PP

      1. Was ist ein Klickzähler bzw. welche Klicks sollen gezählt werden?
        Das damit ein 'Counter' gemeint ist, konnte man aber ohne Glaskugel raten, oder?

        Und du meinst, das Austauschen des Wörtchens Zähler durch seine englische Variante klärt eindeutig, ob Seiten, Besuche, Besucher oder Klicks auf ein Werbebanner gezählt werden sollen? Na, denn mal los.

        "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren." ist eine klare Aussage, mehr wollte ich gar nicht und wüsste auch nicht, was du auf eine einfache Nachfrage so pikiert reagierst.

        1. Hi!

          "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren." ist eine klare Aussage, mehr wollte ich gar nicht und wüsste auch nicht, was du auf eine einfache Nachfrage so pikiert reagierst.

          Ich entschuldige mich, wenn der Eindruck entstanden ist ich sei pikiert.

          off:PP

        2. "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

          Dafür ist ein Counter in PHP aber nicht geeignet und somit wäre diese Aussage für den OP völlig uninteressant.

          Die Besucherzahl ist nur bestimmbar (annähernd), indem man die Logfiles auswertet.

          1. "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

            Dafür ist ein Counter in PHP aber nicht geeignet und somit wäre diese Aussage für den OP völlig uninteressant.

            wieso? was ist wenn sämtliche ressourcen die auf dem webserver liegen von php ausgeliefert und ausgewertet werden?

            Die Besucherzahl ist nur bestimmbar (annähernd), indem man die Logfiles auswertet.

            nein, das ist ist ein trugschluss - die besucherzahl lässt sich auf viele weisen näherungsweise berechnen - die logfiles sind sicher eine gute methode, aber sicher nicht NUR mit ihnen bestimmbar

            1. Mahlzeit suit,

              "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

              Dafür ist ein Counter in PHP aber nicht geeignet und somit wäre diese Aussage für den OP völlig uninteressant.
              wieso? was ist wenn sämtliche ressourcen die auf dem webserver liegen von php ausgeliefert und ausgewertet werden?

              Weil Du - wenn Du dem hier skizzierten Weg folgst und einfach bei jedem Aufruf jeder Startseite einen Zähler hochsetzt - nur weißt, dass die Startseite soundso oft angefordert wurde. Ob das Erstanforderungen oder Reloads waren, ob es sich um "richtige" Browser oder Spider handelte, ob es der gleiche Benutzer oder verschiedene waren, ob diese(r) Benutzer im Laufe seines Besuchs ("Session") das erste mal auf der Startseite vorbeischaute oder erneut dorthin zurückkam ... all das weißt Du damit nicht. Also weißt Du insbesondere nicht, "wie viele Leute auf meiner Seiten waren".

              Die Besucherzahl ist nur bestimmbar (annähernd), indem man die Logfiles auswertet.
              nein, das ist ist ein trugschluss - die besucherzahl lässt sich auf viele weisen näherungsweise berechnen - die logfiles sind sicher eine gute methode, aber sicher nicht NUR mit ihnen bestimmbar

              Zeige mir EINE andere Methode, die die gleiche Aussagekraft wie Logfiles besitzt. IMHO ist es NUR so halbwegs zuverlässig möglich, Zusammenhänge zwischen Hits, Page Impressions, Visits u.ä. zu erkennen. Alle anderen Methoden sind Murks ... für Beweise des Gegenteils bin ich natürlich gerne offen.

              MfG,
              EKKi

              --
              sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
              1. Weil Du - wenn Du dem hier skizzierten Weg folgst und einfach bei jedem Aufruf jeder Startseite einen Zähler hochsetzt - nur weißt, dass die Startseite soundso oft angefordert wurde [...] all das weißt Du damit nicht. Also weißt Du insbesondere nicht, "wie viele Leute auf meiner Seiten waren".

                natürlich ist der hier beschriebene weg nicht geeignet das ist klar - aber php ist keineswegs ungeeignet dafür

                Zeige mir EINE andere Methode, die die gleiche Aussagekraft wie Logfiles besitzt. IMHO ist es NUR so halbwegs zuverlässig möglich, Zusammenhänge zwischen Hits, Page Impressions, Visits u.ä. zu erkennen. Alle anderen Methoden sind Murks ... für Beweise des Gegenteils bin ich natürlich gerne offen.

                die methode ist, jede http-anfrage des servers in ein php, perl oder wasauchimmer-script zu jagen und dieses die seiten ausliefern zu lassen - das kann dann exakt die selben parameter aufnehmen, welche auch das logfile des servers kennt - somit hat man exakt die selbe aussagekraft

                die aussagekraft von serverlogfiles ist aber auch nicht wirklich gross

                hits, page impressions und visits kann man vermutlich unterscheiden - aber es ist UNMÖGLICH anhand eines logfiles einen besucher von einem besuch zu unterscheiden - was is mit proxys, der selbe besucher mit verschiedenen browsern oder ip-adressen?

                eine näherung bringen hier nur hybridlösungen die sessions, tracking-cookies und logfiles nutzen - derartige lösungen (zb webtrends zb) sind aber im vergleich zu simpel gehährten zahlen nicht viel aussagekräftiger und für einen normalen menschen ohnehin nicht verständlich

                unterscheide bitte zwischen statistik und statistik - dinge wie webalizer, awstats oder google analytics sind für viele leute bei weitem ausreichend, beinhalten aber nur einen winzigen bruchteil von dem, was eine ordentliche software kann - und dafür reichen logfiles einfach nicht aus

                es ist ein faktum, dass php bei entsprechender programmierung und konfiguration des servers sehrwohl zum loggen genutzt werden kann - und das sogar wesentlich besser als wenn man nur die logfiles analysiert (php kann selbst sessions erzeugen, tracking cookies setzen und diese dann in einem entsprechenden script wieder in die laufende analyse einbeziehen)

                wie gesagt, dass das aus 5 funktionen bestehende vorgeschlagene script nicht mit einer logfile-analyse mithalten kann ist klar ;)

                1. natürlich ist der hier beschriebene weg nicht geeignet das ist klar - aber php ist keineswegs ungeeignet dafür

                  Es ging nie darum, dass PHP generell ungeeignet ist sondern dass die Seitenzählung als Codeschnipsel in der aufgerufenen Seite keinen Sinn macht. Zumindest in meinem Post auf den du reagiert hast.

                  Ob PHP generell zur Auswertung eines Logfiles Sinn macht, ist ne andere Sache. Bei Logfiles im Bereich von mehreren hundert MB halte ich es schlichtweg für unsinnig weil extrem langsam und Ressourcenfressend. Möglich und Sinnvoll sind nunmal verschiedene Dinge.

                  1. Es ging nie darum, dass PHP generell ungeeignet ist sondern dass die Seitenzählung als Codeschnipsel in der aufgerufenen Seite keinen Sinn macht. Zumindest in meinem Post auf den du reagiert hast.

                    du hast folgendes geschrieben

                    Dafür ist ein Counter in PHP aber nicht geeignet und somit wäre diese Aussage für den OP völlig uninteressant.

                    da steht nicht "dafür ist der genannte counter" sonder "ein counter in php", wie dieser counter in php funktioniert und ob dieser complexe auswertung im hintergrund durchführt steht da nicht - ich habe nun mal den schlimmsten fall reininterpretiert

                    bez der logfiles im bereich meherer 100 mb - ich hatte schon "bessere" lösungen im einsatz (das angesprochene webtrends), das funktioniert trotz hybridverfahren (tracking code und logfile-analyse) ganz gut und geht auch bei logfiles die am tag rund 150 mb haben noch recht gut

                    aus kostengründen wurde jetzt aber auf awstats umgestellt, da der kunde so extrem gefinkelte statistiken nicht braucht, den meisten marketingmengen ist das ziemlich egal - die wollen nur wissen ob sie jetzt 35 oder 40.000 besuhcer im monat haben

                    1. da steht nicht "dafür ist der genannte counter" sonder "ein counter in php", wie dieser counter in php funktioniert und ob dieser complexe auswertung im hintergrund durchführt steht da nicht - ich habe nun mal den schlimmsten fall reininterpretiert

                      Da hast du Recht, ich hab mich ungenau bis falsch ausgedrückt.

                      aus kostengründen wurde jetzt aber auf awstats umgestellt, da der kunde so extrem gefinkelte statistiken nicht braucht, den meisten marketingmengen ist das ziemlich egal - die wollen nur wissen ob sie jetzt 35 oder 40.000 besuhcer im monat haben

                      awstats halte ich ebenfalls für eine gute Wahl. Meine Kunden sind zwar zu 95% mit Webalizer zufrieden, ich selbst und einige andere wollen aber eine etwas genauere Auswertung. Grad was die Suchmaschinenstatistiken angeht.

          2. "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

            Dafür ist ein Counter in PHP aber nicht geeignet

            Begründe.

            Es ist für eine Besuchszählung erstmal herzlich wurscht, ob sich jede Seite mit einem Code-Schnippsel quasi selbst zählt oder ob man die Einträge im Protokoll zählt.

            Die Besucherzahl ist nur bestimmbar (annähernd), indem man die Logfiles auswertet.

            Die Besuch_er_zahl? Na, da sind wir jetzt mal ganz gemein: Wie gedenkst du denn die einzelnen Besucher in einem Monat auseinander zu halten? Im Protokoll kannst du jedenfalls nicht so ohne weiteres erkennen, ob Besucher X schon einmal da war, das geht nur, in dem du beim Seitenaufruf Cookies mit eindeutigen Kennungen verteilst. Und dazu benötigst du wiederum eine wie auch immer geartete Programmlogik - zum Beispiel in PHP.

            Die (Standard-) Protokolle eignen sich höchstens zur Erfassung der Besuchszahlen, aber nicht für Besucherzahlen.

            1. Die Besuch_er_zahl? Na, da sind wir jetzt mal ganz gemein: Wie gedenkst du denn die einzelnen Besucher in einem Monat auseinander zu halten?

              Gute Frage. Immerhin hast du als einzig richtige Fragestellung folgendes geschrieben:

              "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

              Also, wenn diese die passende Frage in diesem Thread ist, wieso ist jetzt keine Lösung möglich?

              1. "Ich möchte gerne wissen, wie viele Leute auf meiner Seite waren."

                Also, wenn diese die passende Frage in diesem Thread ist, wieso ist jetzt keine Lösung möglich?

                Wieso soll keine passende Lösung möglich sein? Dass ein auf PHP-basierender Zähler nicht geeignet sein soll, hast du geschrieben; ich habe vielmehr behauptet, dass sich mit PHP (oder sonst einer Sprache) noch weitergehende Möglichkeiten bieten als die reine Standardprotokollauswertung zulässt.

                1. Wieso soll keine passende Lösung möglich sein?

                  Erst schreibst du, es ist nicht möglich, die Besucher eine Seite zu zählen (nur die Besuche), aber die Leute, die die Homepage besucht haben, sind ermittelbar? Das passt nunmal nicht zusammen. Du solltest dich entscheiden.

                  Deine Aussage:

                  Die Besuch_er_zahl? Na, da sind wir jetzt mal ganz gemein: Wie gedenkst du denn die einzelnen Besucher in einem Monat auseinander zu halten? Im Protokoll kannst du jedenfalls nicht so ohne weiteres erkennen, ob Besucher X schon einmal da war, das geht nur, in dem du beim Seitenaufruf Cookies mit eindeutigen Kennungen verteilst.

  3. Gudn!

    Nimm hier sofort das <center> wieder heraus, oder ich besuche Deine Seite nie wieder ;)

    Gruß aus Fürth in Mittelfranken,
    Samoht

    --
    fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}