Moin,
hier noch mein:
Tutorial zum Einbau eines "Klick Zählers" in Mobirise
Dass die für dieses Script verwendete Mobirise-Seite die Dateierweiterung
.php tragen muss, schreibe ich hier natürlich nur für Mitleser und nicht für Dich.
Werners Script zum Aufruf der Klicks aus der Datei "
daten.txt" (damals war Werner noch "hompage-total.de"), gehört in den Bereich "
Inside <head> code" von Mobirise.
Passe hier (gleich oben in der ersten Zeile) den relativen Pfad zur Datei "
daten.txt" entsprechend an:
Code: Alles auswählen
<?php
$clicks_file = file('./downloads/imagecounter/daten.txt');
for ($i = 0; $i < count($clicks_file); $i++) {
$temp = explode('|', $clicks_file[$i]);
$clicks[$temp[0]] = $temp[1];
}
function get_clicks($id) {
global $clicks;
return $clicks[$id];
}
?>
Der
Scriptaufruf über die
Browser-Action zum Zählen der Klicks, hier als Beispiel auf meiner oben genannten Formular-Seite, am Button mit der Action zur
?id=4, die als HTTP GET-Variable an das Script mit dem Array $_GET übergeben wird. Die Verzeichnisse, die Du da verwenden willst, musst Du natürlich anpassen wie Du willst:
downloads/imagecounter/zaehler.php?id=4
Code: Alles auswählen
<div class="mbr-section-btn align-center" mbr-buttons mbr-theme-style="display-4" data-toolbar="-mbrBtnMove">
<a class="btn btn-primary" href="http://www.mobirise-tutorials.com/downloads/imagecounter/zaehler.php?id=4"
data-app-placeholder="Type Text" target="_blank">Download Mailscripts</a>
</div>
Speichere dieses Script "
zaehler.php" unverändert und kopiere es, hier in das Verzeichnis "
imagecounter", am Server:
downloads/imagecounter/zaehler.php
Code: Alles auswählen
<?php
// Bilderklickzähler von Werner-Zenk.de
$clicks_file = file('daten.txt');
if (count($clicks_file) > 0) {
for ($i = 0; $i < count($clicks_file); $i++) {
$temp = explode('|', $clicks_file[$i]);
if ($temp[0] == $_GET['id']) {
$link = $temp[2];
$temp[1]++;
}
$file[] = implode('|', $temp);
}
$string = implode("\n", $file);
$string = str_replace("\n\n", "\n", $string);
$fh = fopen('daten.txt', 'w+');
flock($fh, 2);
fputs($fh, $string);
flock($fh, 3);
fclose($fh);
header('location: ' . $link);
}
else {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
?>
Wie man an diesem Script sehen kann, wird in eine Datei "
daten.txt", die im gleichen Verzeichnis liegt, geschrieben. Dort also in einer Schleife hochgezählt und die Zahl der Clicks an der geklickten ID neu überschrieben.
Die Datei "daten.txt" muss entsprechend Schreibrechte (604) besitzen.
Die Datei "
daten.txt" befindet sich hier also im
gleichen Verzeichnis, das ich "
imagecounter" genannt habe, wie das Script "
zaehler.php".
Hier der momentane Inhalt dieser, meiner Beispiel-Datei "daten.txt".
Die erste Zahl ist die ID | die zweite Zahl die gezählten Klicks | es folgt der Pfad zur Datei:
Code: Alles auswählen
1|2803|../download/2017-09-04-Mobirise_Mailscript.zip
2|1101|../download/2017-09-23-Mobirise_Mailscript.zip
3|494|../download/2020-10-12-popup_ein_aus.zip
4|4453|../download/2021-04-24-mailscript_phpmailer640.zip
5|1435|../download/2021-05-05-mailscript_2_phpmailer640.zip
6|876|../download/2021-07-21-mailscript_phpmailer650_smtp_mobirise.zip
7|855|../download/2021-10-16-mailscript_phpmailer650_smtp_mobirise_spam1.zip
Bei meinem Beispiel liegen also alle ZIP-Dateien für den Download in einem Verzeichnis "
download".
Wenn Du nun ein Bild anzeigst (keinen Download), dann findet über diese Datei eben nicht der Download, sondern der Aufruf (die Anzeige) des Bildes aus einem Verzeichnis, das Du meinetwegen "
anzeige" nennst, statt - also ungefähr so:
Code: Alles auswählen
1|2803|../anzeige/bild1.jpg
2|1101|../anzeige/bild2.jpg
3|4944|../anzeige/bild3.jpg
4|4453|../anzeige/bild4.jpg
5|1435|../anzeige/bild5.jpg
6|876|../anzeige/bild6.jpg
7|855|../anzeige/bild7.jpg
Du musst jeden Eintrag von Anfang an dort stehen haben - mit z.B. 0 Klicks - denn alle verwendeten Einträge müssen bereits in der Datei "daten.txt" vorhanden sein:
Code: Alles auswählen
1|0|../anzeige/bild1.jpg
2|0|../anzeige/bild2.jpg
3|0|../anzeige/bild3.jpg
... usw.
Deine Bilder liegen also dann auch bereits in Deinem neu angelegten Verzeichnis "
anzeige" am Server.
Anzeige der Klicks:
Zur
Anzeige der Klicks aus der Datei "daten.txt", habe ich folgendes geschrieben:
Downloads insgesamt seit 04.09.2017: <strong><?php echo get_clicks(4)?></strong>
Dieser PHP "
echo" Befehl zeigt dann die Klicks über das PHP-Script, das im Bereich "Inside <head> code" dieser Seite liegt, an.
Ich habe in meinem Beispiel also
2 Verzeichnisse im Stammverzeichnis meines Mobirise-Projektes angelegt:
downloads - mit den Dateien - bei Dir dann "anzeige"
imagecounter - mit der Datei "daten.txt" und dem Script "zaehler.php"
Weiteres Beispiel mit Anzeige der Klicks zu einer bestimmten Seite:
Natürlich kann man dieses Script auch ebenso lediglich zur Anzeige der Klicks zu einer bestimmten Seite verwenden, wie bei meinem (Werners) "Formular-Generator":
https://www.mobirise-tutorials.com/Form ... -Generator
Da steht dann eben nur die Seite "formulargenerator.php" in der Datei "daten.txt":
Code: Alles auswählen
1|10790|https://www.mobirise-tutorials.com/Formular-Generator/Generator/formulargenerator.php