murb.com Hauptseite  •   Registrieren  •  SUCHE  •  FAQ  •  Mitgliederliste  •  Forenregeln  •  Login
Neue Antwort erstellen MySQL-Counter 2.0
Gehe zu Seite 1, 2, 3, 4, 5  Weiter
MySQL-Counter 2.0
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Die Neuauflage des MySQL-Counters ist da!

Hinweis: Der Text-Counter und der alte MySQL-Counter wurden von der Seite genommen.

Demo, Installationsanleitung und Hinweise

Die Vorgängerversion ist nie über den Betastatus hinaus gekommen. Mit der neuen Version wurde der Counter nochmal komplett überarbeitet und um eine Log-Ausgabe erweitert. Im Thread zur Vorgängerversion finden sich zahlreiche Hinweise und auch Counter-Erweiterungen von Benutzern.

Funktionen des Counters:
• Gesamtbesucher
• Besucher heute
• Besucher gestern
• Tagesrekord
• Besucher online
• Onlinerekord
• Seitenaufrufe

Voraussetzungen:
Der Webserver muss PHP ausführen können und es wird eine Datenbank benötigt (MySQL)!

Download: MySQL-Counter 2.0 downloaden

Demo

Beispielausgabe: Zu sehen bspw. auf unserer Hauptseite unten im Footer.
Counter-Log: Wie das aussieht, kann hier begutachtet werden.
Quellcode: Der Code kann hier eingesehen werden.

Installationsanleitung

1. Counter-Script downloaden und entpacken.

2. counter.php öffnen und Datenbank-Zugangsdaten eingeben (Zeile 13 bis 16).
Code:
#### MySQL-Database access data ####
$db_sqlc_host = "localhost";
$db_sqlc_name = "database";
$db_sqlc_user = "username";
$db_sqlc_pwd = "password";


3. Auf Wunsch weitere Einstellungen vornehmen (Zeile 25 bis 45). Diese können jederzeit angepasst werden. Genauere Beschreibung der einzelnen Variablen siehe unten.

4. counter.php uploaden und im Browser folgenden Befehl aufrufen:
http://www.deinedomain.de/counter.php?action=install

5. counter.php im Browser aufrufen und nachsehen ob Counter-Log korrekt angezeigt wird.

6. counter.php per Include-Befehl an der gewünschten Stelle einbinden: <?php include("counter.php"); ?>
Hinweis: Der Counter muss in eine .php-Datei eingebunden werden, sonst wird der Code nicht vom Webserver verarbeitet!

Einstellungs-Variablen

Code:
#### Settings ####

$sqlc_splitter = "&nbsp;&nbsp;|&nbsp;&nbsp;";
$sqlc_ip_time = 900;
$sqlc_online_time = 300;
$sqlc_log_amount = 500;
$sqlc_show_output = true;

$sqlc_output_layout = "<div style=\"padding: 2px\">[sqlc_counter_output]</div>";

$sqlc_output  = "Online: [sqlc_online][sqlc_splitter]";
$sqlc_output .= "Onlinerekord: [sqlc_online_record][sqlc_splitter]";
$sqlc_output .= "Heute: [sqlc_today][sqlc_splitter]";
$sqlc_output .= "Gestern: [sqlc_yesterday][sqlc_splitter]";
$sqlc_output .= "Tagesrekord: [sqlc_day_record][sqlc_splitter]";
$sqlc_output .= "Gesamt: [sqlc_total][sqlc_splitter]";
$sqlc_output .= "Seitenaufrufe: [sqlc_hits]";


$sqlc_splitter: Hiermit werden die einzelnen Counterausgaben (z.B. Online: 12, Heute: 133) von einander getrennt. Für einen Zeilenumbruch "<br>" einfügen.

$sqlc_ip_time: Das ist die Zeit (in Sekunden), für die ein User als ein Besucher gezählt wird. Erst wenn der Besucher diese Zeitspanne nicht mehr aktiv war und die Seite erneut besucht, wird er als neuer Besucher gezählt.

$sqlc_online_time: Die Zeit (in Sekunden), wie lange eine IP nach der letzten Aktivität des Nutzers noch als "online"-User zählt. Diese Zeit ist sinnvoll, da der Besucher bspw. während des Lesens eines Textes keine Aktivität zeigt aber trotzdem noch "online" auf der Seite ist.

$sqlc_log_amount: Die Anzahl der unterschiedlichen IPs, die geloggt werden. Hier sollte ein gewisser Puffer gewählt werden. Die drei- bis fünffache Anzahl der erwarteten Besucher in der festgelegten IP-Gültigkeitszeit ($sqlc_ip_time) sollte genügen. Bei wenigen Besuchern kann der Multiplikator auch höher gewählt werden um einen "überraschenden Mehrbesuch" zu kompensieren.

$sqlc_show_output: Mit dieser Variable wird festgelegt ob der Counter die Zahlen ausgibt. Soll der Counter im Hintergrund zählen, diesen Wert auf false stellen. Interessant ist diese Einstellung, wenn der Counter (zusätzlich) auf anderen Seiten eingebunden ist, auf denen er nichts ausgeben soll.

$sqlc_output_layout und $sqlc_output: Hiermit bestimmt man das Layout der Ausgabe sowie die Ausgabe selbst. Die Platzhalter dürfen nicht verändert werden. Verschieben (oder Löschen im Falle von [sqlc_splitter]) der Platzhalter ist möglich. Die Zeilen der Ausgabe lassen sich auch ganz einfach vertauschen (wenn bspw. "Gesamt:" an erster Stelle stehen soll) oder auskommentieren (dazu // an den beginn der Zeile einfügen).

Alle Fragen und Probleme bitte in diesen Thread. Danke.
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
Frank
Gast
Antworten mit Zitat
Klasse, toller Zähler! Smile
Danke für deine Mühe!!!
Counter
Siggibutz
Gast
Antworten mit Zitat
Das Scribt lässt sich nicht entpacken,nicht auf meinem Server und auch nicht mit RAR Entpacker.
Gruss von Siggi
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Hallo Siggi,

das Counter-Script war mit WinRAR gepackt. Ich habe es nun erneut als ZIP-Version gepackt und hochgeladen. Bitte nochmals downloaden und versuchen die counter.php zu entpacken.
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
BitBull
Gast
Antworten mit Zitat
Hallo,

ich erhalte über dem Counter der aber zu funktionieren scheint die Fehlermeldung:

Notice: Undefined variable: sqlc_output in C:\Server\html\counter.php on line 39 Notice: Undefined index: action in C:\Server\html\counter.php on line 82

kann mir jemand erklären wo der Fehler liegt?

Ich habe in der counter.php nichts geändert außer die MySQL Datenbank Einstellungen und dann die Datei mit .../counter.php?action=install
aufgerufen (Installation war erfolgreicht)

test.php mit inhalt: <?php include("counter.php"); ?> erstellt und aufgerufen

wie gesagt der counter scheint normal zu funktionieren aber die Fehlermeldung sieht nicht schön aus Crying or Very sad
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
BitBull hat Folgendes geschrieben:
Notice: Undefined variable: sqlc_output in C:\Server\html\counter.php on line 39 Notice: Undefined index: action in C:\Server\html\counter.php on line 82

kann mir jemand erklären wo der Fehler liegt?

Das sind keine Fehlermeldungen sondern nur Hinweise, die von deinem Server ausgegeben werden (ist in der php.ini so festgelegt). Die Hinweise erscheinen, da die Variablen zum Zugriffszeitpunkt (noch) nicht existieren, was nicht ganz sauber ist. Habe es behoben und das neue Script hochgeladen.

Alternativ kannst du im counter.php einfach folgendes einfügen (ganz oben nach "<?php"): error_reporting(E_ALL ^ E_NOTICE);
Damit werden Hinweise ausgeblendet.
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
BitBull
Gast
Antworten mit Zitat
SUPER Blitz Support bei Nacht Very Happy

Ich kann leider ich so mit PHP

Die Meldungen einfach abzuschalten darauf hätte ich auch selbst kommen können Embarassed

DANKE!
Kai
Gast
Antworten mit Zitat
Hallo Leute,

mir gefällt der Counter sehr gut
Gibt es eine Möglichkeit das Ergebniss auch per html dar zu stellen ?
Ich würde ihn gerne woanders platzieren bekommen das per php aber leider nicht hin
(bin kein Profi)

Sollte es per php gehen ihm einen Platz zu zu weisen wäre ich für Hinweise auch dankbar
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Kai hat Folgendes geschrieben:
Gibt es eine Möglichkeit das Ergebniss auch per html dar zu stellen ?

Das Ergebnis wird bereits als HTML dargestellt. Wo die Ausgabe stattfindet kannst Du selbst festlegen. Binde einfach an der gewünschten Stelle den Counter ein. Die Ausgabe im Detail kannst Du über die Variablen $sqlc_output_layout und $sqlc_output anpassen. Da genügt reiner HTML-Code. Es müssen nur die Platzhalter erhalten bleiben (und die Syntax des Codes).

Wenn Dir das zu ungenau ist, gib mir ein Beispiel, was Du vor hast und ich versuche es zu erklären.
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
Peter1
Gast
Antworten mit Zitat
Hallo,

dein Counter funktioniert super, nur wie kann ich den "Gesamtzähler" umstellen? Also den Counter auf meinen alten Besucherstand stellen? In phpMyAdmin finde ich keine Tabelle "sqlc_counter".
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Hallo Peter,

die Tabelle "sqlc_counter" müsste aber existieren, sofern Du die Namen der Tabellen im Script nicht vor der Installation geändert hast. Vielleicht bist Du zur falschen Datenbank mit phpMyAdmin verbunden? Wenn der Counter funktioniert, müssen die Daten ja irgendwo gespeichert sein. Wink

Falls Du die Tabelle nicht findest, der Counter aber funktioniert, könntest Du es auch über das Script lösen. Füge folgenden Code in Zeile 137, vor "// counter process starts here" ein:
Code:
if (isset($_GET['newtotal'])) {
  mysql_query("UPDATE ".$db_sqlc_counter." SET total = '".mysql_real_escape_string($_GET['newtotal'])."' WHERE id = '1'", $database_sqlc);
}

Danach rufst Du das Counter-Script mit dem GET-Parameter "newtotal" auf und übergibst die gewünschte Zahl er Gesamtbesucher. Z.B. So: counter.php?newtotal=13550
Den Code danach wieder löschen.
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
Falscher Onlinerekord
qbaer
Gast
Antworten mit Zitat
Gibt es einen BUG in Verbindung mit dem Onlinerekord? Ich weiss nur nicht genau an welchem Datum er sich auf 328 aufblässt und an diesem Tag auch nur ein Besucher gezählt wird. Müsste zwischen 6. und 8. des Monats sein
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Dieser Bug ist mir nicht bekannt. Der Counter sollte tagesunabhängig funktionieren. Ist dises Phänomen wiederholt aufgetreten? Vielleicht liegt es an der PHP- oder MySQL-Version. Welche werden denn verwendet?
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
Ja es passierte nun zum 2. mal
qbaer
Gast
Antworten mit Zitat
allerdings kann ich nicht sagen ob es zum selben Zeitpunkt war. Dasselbe Script läuft auf einer bzw. auf weiteren domains bisher problemlos, diese haben bislang nicht dieselbe besucherfrequenz

PHP Version 5.2.14
MySQL 5
Actros
Gast
Antworten mit Zitat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 10: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 10

PHP Version 5.3.5
MySQL Version 5.0.7
MySQL-Counter 2.0
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Alle Zeiten sind GMT + 1 Stunde  
Seite 1 von 5  

  
  
 Neue Antwort erstellen  
Powered by phpBB © phpBB Group
Design by phpBBStyles.com | Styles Database.
Content © murb.com - Forum