Hallo zusammen,
hier ein kleines PHP-Script, das die Zugriffe je IP (heute und gesamt) zählt und auf der Homepage anzeigt.
Wer will, darf das gerne erweitern (Woche, Monat, Jahr), aber ich denke, irgendwann wird die Kapazität der Datenbank erschöpft sein. Ich werde daher das Ganze mal beobachten und nach einiger Zeit eine Löschroutine einbauen, die Zugriffe < einer bestimmten Zeit wieder löscht.
Gruß und schönen Sonntag
Wolfgang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<?php /* ************************************************* * Zugriffszähler in PHP - heute und gesamt * * --------------------------------------------- * * Wolfgang Kessel - 01.04.2014 * ************************************************* */ $db_host = ""; # Der Datenbank-Host $db_user = "root"; # Der Datenbank-Benutzer $db_password = ""; # Das Passwort für die Datenbank $db_name = "ksb"; # Der Datenbank-Name $db_tbl = "zugriff"; # Der Tabellenname $conn = mysql_connect($db_host,$db_user,$db_password) or die (mysql_error()); mysql_select_db($db_name, $conn) or die (mysql_error()); // Abfragen, ob Tabelle vorhanden ist if (!mysql_query("SELECT * FROM $db_tbl")) { // Create table $sql = "CREATE TABLE $db_tbl ( id int NOT NULL AUTO_INCREMENT, ip varchar(32) NOT NULL, time varchar(48), datum bigint(12), anzahl_heute int(6), anzahl_gesamt int(6), PRIMARY KEY (id) )"; $result = mysql_query($sql); } $ip = $_SERVER["REMOTE_ADDR"]; $ipges = "gesamt"; $today = strtotime("00:00:00"); // Zeit in Sekunden ab 1.1.1970 für Heute 00 Uhr $heute = date("d.m.Y", $today); // Zeit TT.NN.JJJJ für Heute $sql = mysql_query("SELECT * FROM $db_tbl where ip = '$ip'"); $row = mysql_fetch_object($sql) or mysql_query("INSERT INTO $db_tbl SET ip='$ip', time='$heute', datum='$today', anzahl_heute=0, anzahl_gesamt=1"); $sql = mysql_query("SELECT * FROM $db_tbl where ip = '$ip'"); $row = mysql_fetch_object($sql); $anzahl_heute = $row->anzahl_heute; $anzahl_gesamt = $row->anzahl_gesamt; if ($row->datum == $today) { $anzahl_heute = $anzahl_heute + 1; } else { $anzahl_heute = 1; $anzahl_gesamt = $anzahl_gesamt + 1; } $sqlab = "update $db_tbl set time='$heute', datum='$today', anzahl_heute = $anzahl_heute, anzahl_gesamt = $anzahl_gesamt where ip = '$ip'"; mysql_query($sqlab); echo "Zugriffe heute " ; echo $anzahl_heute . "<br>"; echo "Zugriffe gesamt " ; echo $anzahl_gesamt . "<br>"; ?> |