Plugin CountVisits

Erweiterungen
Post Reply
phg
Posts: 5
Joined: Mon 15. Feb 2021, 08:19

Plugin CountVisits

Post by phg »

Hallo Gert,
Dein Plugin CountVisits funktioniert hervorragend. Allerdings habe ich eine kleine Unstimmigkeit gefunden.
Hintergrund: Ich wollte gerne wissen, wer meine Seite (http://www.prof-horst-guenther.de/mbot)besucht und insbesondere, welche Seiten überhaupt aufgerufen werden. Dazu habe ich in Deinem Plugin an zwei Stellen etwas eingefügt. In eine neue Datei im Verzeichnis mit der Visit-Datei schreibe ich bei jedem Neu-Aufruf Datum und Uhrzeit. Außerdem in den Folgezeilen ein S (für Seite) und dann Datum, Uhrzeit, IP-Adresse und die gerufene Seite. Klappt auch gut.
Allerdings wird bei einigen Besuchern das so gespeichert, wie ich mir das denke. Bei anderen aber nicht. Dort wird vor jedem Seitenaufruf wieder die Benutzeranmeldung protokolliert. Warum das so ist, weiß ich nicht. Ich fürchte, dass es etwas mit dem benutzen Browser zu tun hat. Bei mir läuft allerdings mit Firefox, Chrome und Edge alles so, wie ich es erwarte:

Eigentlich falsch: Benutzer scheint nicht wiedererkannt zu werden.

18.05.2021 10:33:41
S 18.05.2021 10:33:41 (204.12.237.149) ()
18.05.2021 10:33:44
S 18.05.2021 10:33:44 (204.12.237.149) (Erste_Schritte_mit_dem_mBot)
18.05.2021 10:33:45
S 18.05.2021 10:33:45 (204.12.237.149) (Literatur_und_Links)
18.05.2021 10:33:45
S 18.05.2021 10:33:45 (204.12.237.149) (Der_mBot_als_Roboter)

So erwarte ich es:

18.05.2021 10:36:04
S 18.05.2021 10:36:04 (37.60.0.45) ()
S 18.05.2021 10:36:39 (37.60.0.45) (Kontakt)
S 18.05.2021 10:36:43 (37.60.0.45) (Literatur_und_Links)
S 18.05.2021 10:36:55 (37.60.0.45) (Literatur_und_Links___Schertle%2FCarle%3A_mBot_for_Makers)

Kannst Du Dir das erklären? Und noch viel wichtiger: Kannst Du es ändern?

Ich habe mir mal interessehalber den Code angesehen. Es sieht zwar alles sehr aufgeräumt und ordentlich aus, auf Anhieb verstehe ich aber nur Bahnhof. Ich würde den angemeldeten Benutzer entweder über ein Cookie oder über die Session-ID versuchen, wieder zu erkennen. Beides sehe ich aber nicht.

Falls Du wegen Corona grosse Langeweile hast, willst Du es vermutlich selber in die Hand nehmen. Falls nicht und Du einverstanden bist, könnte ich mich daran versuchen. Dann wäre ich für ein paar Hinweise sehr dankbar. Hinweise auf das Grundprinzip (SESSION oder COOKIE) und die entsprechenden Dateien und Zeilennummern wären sicher ausreichend.

Bei dieser Gelegenheit: Von der Seite können sehr viele Dateien heruntergeladen werden. Ich fände eine Art Downloadzähler sehr interessant. Hast Du hierzu Ambiutionen oder könntest Du mir auch hier Tips geben?

Vielen Dank und Viele Grüße

Horst Günther
Gert
Posts: 2075
Joined: Sun 18. Nov 2012, 14:18

Re: Plugin CountVisits

Post by Gert »

Hallo,

CountVisits ist ein einfacher Besucherzähler und soll das auch bleiben. Website Analysetools gibt es zuhauf im Netz, und auch die meisten Povider bieten da Möglichkeiten an.

Auch Downloadzähler findet man mit Google jede Menge (Suchbegriff: download counter), auch kostenlos:

http://www.download-counter.lueth.com/

Muss ja nicht alles über CMSimple laufen, so einen Counter kann man auch mal per iFrame einbinden, z. B. mit MagicFrames.

Und nein, ich habe keine Langeweile ;)

Gert

===============================

PS: So wie ich die Lizenzbedingungen für den verlinkten Downloadcounter verstehe, könnte man auch ein Plugin daraus machen, mal sehen ... irgendwann
Gert Ebersbach | CMSimple | Templates - Plugins - Services
phg
Posts: 5
Joined: Mon 15. Feb 2021, 08:19

Re: Plugin CountVisits

Post by phg »

Hallo Gert,
womit habe ich Dich in meinem Beitrag so verärgert, dass Du so ablehnend reagierst? So bist Du doch gar nicht. Und auf meine Kernaussage bist Du überhaupt nicht eingegangen: Unter bestimmten Bedingungen scheint der Downloadzähler Besucher in ein und derselben Session mehrfach zu zählen. Ich sehe das als einen Bug an. Insbesondere wird dadurch die durchschnittliche Seitenzahl je Besucher ja verfälscht.

Klar, Du hast recht, es muß ja nicht alles direkt in CMSimple gemacht werden. Auf externe Anbieter (Google usw.) will ich aber bewußt verzichten.
Und ich dachte, Du schüttelst die Stellen, an denen ich eingreifen könnte, direkt aus dem Ärmel. Su muß ich mich selber auf die vermutlich mühselige Suche machen.

Willst Du trotzdem über meine Aktivitäten informiert werden?

Viele Grüße und bleib gesund.

Horst
Gert
Posts: 2075
Joined: Sun 18. Nov 2012, 14:18

Re: Plugin CountVisits

Post by Gert »

phg wrote: Wed 19. May 2021, 12:51 womit habe ich Dich in meinem Beitrag so verärgert, dass Du so ablehnend reagierst?
Dass ich nicht jeden Wunsch erfülle ist verantwortlich dafür, dass CMSimple immer noch seinen Namen wert ist ;)

phg wrote: Wed 19. May 2021, 12:51 Unter bestimmten Bedingungen scheint der Downloadzähler Besucher in ein und derselben Session mehrfach zu zählen.
Das kann ich leider nicht reproduzieren, jedenfalls nicht in meinem Original Plugin. Hier kann man es testen:

https://www.ge-webdesign.de/plugindemo/ ... ountVisits

Der Besucherzähler zählt nicht weiter, solange die Session läuft, die Seitenaufrufe werden weiter gezählt (z. B. bei einem Reload der Seite).

phg wrote: Wed 19. May 2021, 12:51 Und ich dachte, Du schüttelst die Stellen, an denen ich eingreifen könnte, direkt aus dem Ärmel.
Leider nicht. Ist alles schon eine Weile her ...

Ich müsste mich jetzt intensiv mit Deinem eingefügten Code befassen, um herauszufinden, was warum wie funktioniert. Da ich aber nicht die Absicht habe, CountVisits irgendwelche Dinge protokollieren zu lassen, was dann evtl. in der Datenschutzerklärung erwähnt werden müsste, macht das für mich keinen Sinn.

phg wrote: Tue 18. May 2021, 18:41 Falls ... Du einverstanden bist, könnte ich mich daran versuchen. Dann wäre ich für ein paar Hinweise sehr dankbar. Hinweise auf das Grundprinzip (SESSION oder COOKIE) und die entsprechenden Dateien und Zeilennummern wären sicher ausreichend.
Beim Aufruf des Zählers wird der Zählerstand um 1 erhöht und eine Session Variable $_SESSION[$cvFileName] gesetzt. Solange nun diese Variable existiert, wird der Zähler $cvFileName nicht mehr gezählt. $cvFileName wird als Parameter im Plugin Aufruf definiert,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
phg
Posts: 5
Joined: Mon 15. Feb 2021, 08:19

Re: Plugin CountVisits

Post by phg »

Hallo Gert,

danke, das hilft mir weiter.

1. Dass Du nicht jeden Wunsch erfüllst, war ja schon immer so. Ist auch richtig, sonst wäre der Name ja auch falsch. Obwohl: Bei Plugins sehe ich das nicht so verbissen.

2. Reproduzieren kann ich das Problem leider auch nicht. Trotz der verrücktesten Versuche. Bei mir geht auch alles in Ordnung. Muß also etwas mit dem Session-Management zu tun haben. Ich werde es mir ansehen, fürchte aber, dass da - mangels Reproduzierbarkeit - nichts zu machen ist. Tritt bei mir etwa in 20% der Fälle auf.

3. Viel zu studieren ist da nicht. Im Wesentlichen ist das in die function countvisitsV eingebaut:
// Einzelzugriff

$writeCounter = fopen($plugin_cf['countvisits']['data_path'] . $cvFileName . '_E.txt',"a");

$txt = date("d.m.Y H:i:s") . "\r\n";

fwrite($writeCounter, $txt);


fclose($writeCounter);


unlink($plugin_cf['countvisits']['data_path'] . $cvFileName . '_lock.txt');

4. Ich werde versucken, herauszufinden, was mit der SESSION-Variable passier.

Der Downloadcounter war leicht zu implementieren, da es ja die function download() gibt.

Horst
Gert
Posts: 2075
Joined: Sun 18. Nov 2012, 14:18

Re: Plugin CountVisits

Post by Gert »

Hallo,

vielleicht besser $writeCounter ersetzen durch $writeLogfile (in Deinem Code).

Besser wäre aber eine zusätzliche Funktion countvisitsLog(), die Du dann auf den Seiten, die Du loggen willst, aufrufst. Mit dieser Funktion kannst Du dann nach Belieben spielen, ohne die anderen Funktionen zu manipulieren.

Je nach dem, ob Du für die Log-Datei eine Reloadsperre haben willst oder nicht, nimmst Du countvisitsV() oder countvisitsPI() als Vorlage für Deine Funktion countvisitsLog().

Mein Original soll nix loggen, aus Datenschutzgründen,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Post Reply