Benutzer online
Gäste online 1
Mitglieder online 0

Mitglieder insgesamt: 1
Neuestes Mitglied: Loop1403
Foren-Statistiken
Besucher-Zähler
Besucher heute: 37
Besucher gestern: 19
Rekord: 485 (09.09.2026)
Besucher gesamt: 4962

Gesamt-Statistiken
Themen gesamt: 19
Beiträge gesamt: 19
Mitgliederumfragen
Hostet ihr eure Clouds selber?
ja100 %
100% [1 Vote]
Nein0 %
0% [0 Votes]
Kontaktformular
Für Hinweise, Fragen und Kritik haben wir stets ein offenes Ohr.
Einfach nachfolgendes Formular absenden und wir antworten schnellstmöglich.
CAPTCHA ImageRefresh Image

[Anleitung] Eigenes Foren-Statistik-Panel mit kugelsicherem Besucherzähler erstellen

Letzte Aktualisierung
Loop1403Loop1403Seiten Administrator
Veröffentlicht am
# [Anleitung] Eigenes Foren-Statistik-Panel mit kugelsicherem Besucherzähler erstellen

Hallo zusammen,

wer seiner Community eine übersichtliche Statistik spendieren möchte, stößt mit den Standard-Mitteln von PHP-Fusion oft an Grenzen. In dieser Anleitung zeige ich euch, wie ihr ein eigenes, performantes Seiten-Panel einrichtet.

Das Highlight: Ein **kugelsicherer Besucherzähler**, der über eine Cookie-Sperre echte tägliche Besucher zählt (statt bloße Seitenaufrufe) und die Daten in einer eigenen Datenbank-Tabelle speichert. Zusätzlich werden die Gesamt-Themen und Beiträge aus dem Forum live ausgelesen.

Hier ist der schrittweise Weg und der fertige PHP-Code für euer Panel.

---

### Schritt 1: Das neue Panel im Admin-Bereich anlegen

1. Loggt euch in eure PHP-Fusion Administration ein.
2. Navigiert zu **System-Einstellungen** ➡️ **Panel-Administration** (bzw. *Seiten-Panels*).
3. Klickt auf **Neues Panel erstellen**.
4. Vergebt einen Namen, zum Beispiel: Foren-Statistiken.
5. Stellt den Panel-Typ zwingend auf **PHP** (nicht auf HTML oder Text).
6. Wählt die gewünschte Position (z. B. Links oder Rechts) und schaltet das Panel auf **Sichtbar**.

---

### Schritt 2: Der PHP-Code für das Panel

Kopiert den folgenden PHP-Code eins zu eins in das große Textfeld eures neuen Panels. Das Skript prüft beim ersten Aufruf automatisch, ob die benötigte Statistik-Tabelle existiert, und legt sie falls nötig selbstständig an.

**Wichtiger Hinweis vor dem Kopieren:**
Fügt den Code im Panel-Editor ganz normal ein. Achtet darauf, dass vor dem openside und nach dem closeside keine ungewollten Leerzeichen stehen.

---
php
**START DES PHP-CODES:**

openside("Foren-Statistiken");
echo "<div class='stats-panel' style='line-height: 1.6;'>";

// BESUCHERZÄHLER MIT KUGELSICHERER COOKIE-SPERRE
$table_stats = DB_PREFIX."site_visitor_stats";

$check_table = dbquery("SHOW TABLES LIKE '".$table_stats."'");
if (dbrows($check_table) == 0) {
 dbquery("CREATE TABLE ".$table_stats." (
 stat_date DATE NOT NULL,
 stat_count INT(11) NOT NULL DEFAULT 0,
 PRIMARY KEY (stat_date)
 )");
 dbquery("INSERT INTO ".$table_stats." (stat_date, stat_count) VALUES (CURDATE(), 1)");
}

$cookie_name = "dempires_visited_today";

if (!isset($_COOKIE[$cookie_name])) {
 dbquery("INSERT INTO ".$table_stats." (stat_date, stat_count) VALUES (CURDATE(), 1) ON DUPLICATE KEY UPDATE stat_count=stat_count+1");
 $seconds_to_midnight = strtotime('tomorrow') - time();
 setcookie($cookie_name, "yes", time() + $seconds_to_midnight, "/");
}

$get_today = dbarray(dbquery("SELECT stat_count FROM ".$table_stats." WHERE stat_date = CURDATE()"));
$v_today = !empty($get_today) ? $get_today['stat_count'] : 1;

$get_yesterday = dbarray(dbquery("SELECT stat_count FROM ".$table_stats." WHERE stat_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY)"));
$v_yesterday = !empty($get_yesterday) ? $get_yesterday['stat_count'] : 0;

$get_record = dbarray(dbquery("SELECT stat_count, stat_date FROM ".$table_stats." ORDER BY stat_count DESC LIMIT 1"));
$v_record = !empty($get_record) ? $get_record['stat_count'] : 1;
$v_record_date = !empty($get_record) ? date('d.m.Y', strtotime($get_record['stat_date'])) : date('d.m.Y');

$get_total = dbarray(dbquery("SELECT SUM(stat_count) as total FROM ".$table_stats));
$v_total = !empty($get_total) ? $get_total['total'] : 1;

// AUSGABE: BESUCHER-ZÄHLER (Mit Icons und farbigen Zahlen)
echo "<div class='stat-group'>";
echo "<strong style='color: #158CBA;'><i class='fa fa-line-chart'></i> Besucher-Zähler</strong><br />";
echo "Besucher heute: <strong style='color: #28B62C;'>".$v_today."</strong><br />";
echo "Besucher gestern: <strong style='color: #7c7c7c;'>".$v_yesterday."</strong><br />";
echo "Rekord: <strong style='color: #FF851B;'>".$v_record."</strong> <span class='small text-muted'>(".$v_record_date.")</span><br />";
echo "Besucher gesamt: <strong style='color: #158CBA;'>".$v_total."</strong><br />";
echo "</div><hr style='margin-top: 10px; margin-bottom: 10px;' />";

// CONTENT STATISTIKEN
$table_threads = DB_PREFIX."forum_threads";
$table_posts = DB_PREFIX."forum_posts";

$stats_threads = dbcount("(thread_id)", $table_threads);
$stats_posts = dbcount("(post_id)", $table_posts);

// AUSGABE: GESAMT-STATISTIKEN (Mit Icons und farbigen Zahlen)
echo "<div class='stat-group'>";
echo "<strong style='color: #158CBA;'><i class='fa fa-database'></i> Gesamt-Statistiken</strong><br />";
echo "Themen gesamt: <strong style='color: #555555;'>".$stats_threads."</strong><br />";
echo "Beiträge gesamt: <strong style='color: #555555;'>".$stats_posts."</strong><br />";
echo "</div>";

echo "</div>";
closeside();

**ENDE DES PHP-CODES**

---

### Schritt 3: Erklärung der Funktionsweise

* **Cookie-Sperre ($seconds_to_midnight):** Sobald ein neuer Besucher die Seite betritt, wird ein Cookie gesetzt, das exakt um 00:00 Uhr Mitternacht abläuft. Dadurch wird der Zähler pro Nutzer und Tag nur einmal hochgezählt – egal, wie viele Unterseiten er anklickt.
* **Datenbank-Tabelle (_site_visitor_stats):** Die Daten werden tageweise gespeichert. Dadurch lässt sich im Code über DATE_SUB der Wert für Gestern ermitteln sowie über MAX(stat_count) der absolute Allzeit-Rekord eurer Webseite auslesen.
* **Live-Foren-Zähler (dbcount):** Das Skript greift direkt auf die Tabellen _forum_threads und _forum_posts zu, sodass die Zahlen im Seiten-Panel in exakt derselben Sekunde steigen, in der ein User einen neuen Beitrag im Forum veröffentlicht.

Klickt nach dem Einfügen des Codes im Admin-Bereich einfach auf Panel speichern. Das Statistik-Panel ist ab sofort aktiv und einsatzbereit!
zuletzt bearbeitet von Loop1403 am 10-08-2026 22:03,
Du kannst alle Themen in diesem Forum sehen.
Du kannst nicht ein neues Thema in diesem Forum eröffnen.
Du kannst nicht auf dieses Thema antworten.
Du kannst nicht Umfragen in diesem Forum erstellen.
Du kannst nicht Anhänge in diesem Forum hochladen.
Du kannst nicht Anhänge in diesem Forum herunterladen.
Anmelden
Noch keinen Account? Klicke hier, um dich zu registrieren.
Passwort vergessen?
Shoutbox
Du musst dich anmelden, um eine Nachricht zu senden.
Loop1403
Loop1403#1
Moingsen
SERVER BEITRETEN
Echte Live-Kanäle:
Eurotruck SimulatorJoin
LS 25Join
Schwesing BahnhofJoin
MindenerwaldJoin
Hebby`s SabbeleckeJoin
Sven,s ZockerbudeJoin
Left for DeadJoin
CounterstrikeJoin
World of WarshipsJoin
BattlefieldJoin
Klönecke( wenn nicht Gespielt wird)Join
Tratschecke ( im Single Player )Join
TeamJoin
AwayJoin
BesprechungJoin