ich habe den counter mal online:
Gruß Ingo
Code: Alles auswählen
<? include($_SERVER["DOCUMENT_ROOT"].'/kopf.php');
include_once($_SERVER["DOCUMENT_ROOT"].'/includes/config.inc');
include($_SERVER["DOCUMENT_ROOT"].'/includes/lang/'.$lang.'/main.inc');
$ip = $_SERVER["REMOTE_ADDR"];
$zeit = time();
$datum = date("d.m.Y");
$ablaufzeit = time() - 86400; // IP Sperre!
//--- Alte IP-Adresse löschen -------------------------------------------
$sql = 'DELETE * FROM counter_ip WHERE zeit <= ' . (int) $ablaufzeit;
mysqli_query($db, $sql);
// --- Ist die IP-Adresse schon in der DB-Tabelle
if ( $sql = "SELECT ip FROM counter_ip WHERE ip='" . (string) mysqli_real_escape_string($db, $ip) . "' ";
mysqli_query($db, $sql); )
{
// Nein, IP-Adresse und Timestamp eintragen
$sql = "INSERT INTO counter_ip (ip, zeit) VALUES ('" . (string) mysqli_real_escape_string($db, $ip) . "', " . time() . ") ";
mysqli_query($db, $sql);
// Counter aktualisieren
$sql = 'UPDATE counter_stats SET besucher=besucher + 1 WHERE datum=' . (int) $datum . ' ';
mysqli_query($db, $sql);
if (mysqli_num_rows()==0)
{ $sql = 'INSERT INTO counter_stats (datum,besucher) VALUES (' . (int) $datum . ','1'); '; }
mysqli_query($db, $sql);
}
// Hits aktualisieren
$sql = 'UPDATE counter_stats SET hits=hits + 1 WHERE datum=' . (int) $datum . ' ';
mysqli_query($db, $sql);
// -----------------------------------------------------------------------------------------------------------------
// Counter Daten von heute
$sql = 'SELECT besucher,hits FROM counter_stats WHERE datum = ' . (int) $datum . '';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($besucher_heute, $hits_heute);
// Counter Daten gesamt
$sql = 'SELECT sum(besucher), sum(hits) FROM counter_stats WHERE 1';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($besucher_gesamt, $hits_gesamt);
// Hits von Gestern
$sql = 'SELECT * FROM counter_stats WHERE datum = ' . (int) $datum .'" ';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($hits_gestern, $besucher_gestern);
// Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM counter_ip';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($besucher_online);
// registrierte Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM users';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($besucher_online_reg);
// Besucher Gestern
$sql = "SELECT * FROM counter_stats ORDER BY id DESC LIMIT 1,1 ";
if($result = mysqli_query($db, $sql));
{
while($row = $result->fetch_assoc())
{
$besucher_gestern = $row['besucher'];
$hits_gestern = $row['hits'];
}
}
// Anzeigen
echo '
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0428 . $datum . '</span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0205 . $besucher_online_reg . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0200 . $besucher_online . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0201 . $besucher_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0369 . $besucher_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0202 . $besucher_gesamt . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0203 . $hits_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0370 . $hits_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/e.gif> <span class=text>' . $text_0204 . $hits_gesamt . ' </span><br>
';
?>
if ($sql = "SELECT ip FROM counter_ip WHERE ip='" . (string) mysqli_real_escape_string($db, $ip) . "'";
Code: Alles auswählen
// --- Ist die IP-Adresse schon in der DB-Tabelle
$sql = "SELECT ip FROM counter_ip WHERE ip='" . (string) mysqli_real_escape_string($db, $ip) . "'";
$result = mysqli_query($db, $sql);
$ip_exists = mysqli_num_rows($result);
if ($ip_exists)
{
// Ja, dann Counter aktualisieren
$sql = "UPDATE counter_stats SET besucher=besucher + 1, hits=hits + 1 WHERE datum='" . (int) $datum . "'";
mysqli_query($db, $sql);
}
else
{
// Nein, IP-Adresse und Timestamp eintragen
$sql = "INSERT INTO counter_ip (ip, zeit) VALUES ('" . (string) mysqli_real_escape_string($db, $ip) . "', " . time() . ")";
mysqli_query($db, $sql);
$sql = "INSERT INTO counter_stats (besucher, hits, datum) VALUES (1, 1, '" . (string) mysqli_real_escape_string($db, $datum) . "')";
}
Code: Alles auswählen
// Counter Daten von heute
$sql = 'SELECT besucher,hits FROM counter_stats WHERE datum = ' . (int) $datum . '';
mysqli_query($db, $sql);
$result = mysqli_fetch_row();
list($besucher_heute, $hits_heute);
mysqli_query()
liefert eine Verbindung zum Abfrageergebnis zurück, sofern dieses mit SELECT abgerufen wird.$result = mysqli_query($db, $sql);
wäre hier also korrekt.$result = mysqli_fetch_row();
sollte man dann aus 2 Gründen nicht verwenden:$result
beinhaltet nach der zuvor genannten Anweisung bereits die Verbindung zum Abfrageergebnis.$row
.mysqli_fetch_row
bedeutet, dass in $row
dann an Index 0 der Wert des ersten Feldes, an Index 1 der des 2. Feldes, etc. vorhanden ist.$row
dann schwieriger.mysqli_fetch_assoc
zu verwenden, da damit anstatt der nummerischen Schlüssel die Feldnamen verwendet werden.$row
unter anderem Schlüsselpaare wie $row['benutzer']
beinhalten, welches dann den abgefragten Wert besitzt.list($besucher_heute, $hits_heute);
ist an dieser Stelle auch wieder komplett daneben, da list() als Eingangsquelle ein Array voraussetzt, welches so nicht angegeben wird.Code: Alles auswählen
list($var1, $vat2, $vatn) = $array;
list()
eher unglücklich, um solche Zuweisungen zu machen und zudem auch unsicher, kann also auch bei falscher Anwendung zu Datenfehlern führen.Code: Alles auswählen
// Counter Daten von heute
$sql = "SELECT besucher,hits FROM counter_stats WHERE datum = '" . (int) $datum . "'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
$besucher_heute = $row['besucher'];
$hits_heute = $row['hits'];
counter_stats
und counter_ip
.counter_ip
zu speichern, wäre daher vollkommen sinnlos, ohne einen sinnvollen Zusammenhang zwischen diesen beiden Tabellen.counter_stats
eingefügt.counter_stats
nicht mit gespeichert wird, entstehen in dieser Tabelle unschöne Datenrdopplungen.-- phpMyAdmin SQL Dump
-- version 4.9.2
-- https://www.phpmyadmin.net/
--
-- Erstellungszeit: 08. Jul 2021 um 07:27
-- Server-Version: 5.7.33-log
-- PHP-Version: 7.2.25
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Datenbank: `DB3831814`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `counter_ip`
--
CREATE TABLE `counter_ip` (
`ip` varchar(24) COLLATE latin1_general_ci NOT NULL,
`zeit` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Indizes der exportierten Tabellen
--
--
-- Indizes für die Tabelle `counter_ip`
--
ALTER TABLE `counter_ip`
ADD PRIMARY KEY (`ip`),
ADD KEY `ip` (`ip`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-- phpMyAdmin SQL Dump
-- version 4.9.2
-- https://www.phpmyadmin.net/
--
-- Erstellungszeit: 08. Jul 2021 um 07:29
-- Server-Version: 5.7.33-log
-- PHP-Version: 7.2.25
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Datenbank: `DB3831814`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `counter_stats`
--
CREATE TABLE `counter_stats` (
`ID` int(11) NOT NULL,
`datum` varchar(10) COLLATE latin1_general_ci NOT NULL,
`besucher` int(11) NOT NULL,
`hits` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Daten für Tabelle `counter_stats`
--
INSERT INTO `counter_stats` (`ID`, `datum`, `besucher`, `hits`) VALUES
(3, '21.12.2018', 822, 2131),
(1, '00.00.0000', 1489056, 3713725),
(2, '20.12.2018', 697, 1452),
(4, '11.12.2018', 62, 207),
(5, '26.12.2018', 469, 1094),
(6, '27.12.2018', 422, 680),
(8, '28.12.2018', 419, 992),
(9, '29.12.2018', 390, 1104),
(10, '30.12.2018', 467, 843),
(11, '31.12.2018', 471, 5759),
(12, '01.01.2019', 432, 5251),
(13, '02.01.2019', 528, 9330),
(14, '03.01.2019', 646, 8840),
(15, '04.01.2019', 661, 6947),
(16, '05.01.2019', 506, 4415),
(17, '06.01.2019', 423, 2366),
(547, '08.07.2021', 1, 1);
--
-- Indizes der exportierten Tabellen
--
--
-- Indizes für die Tabelle `counter_stats`
--
ALTER TABLE `counter_stats`
ADD PRIMARY KEY (`ID`),
ADD KEY `id` (`ID`);
--
-- AUTO_INCREMENT für exportierte Tabellen
--
--
-- AUTO_INCREMENT für Tabelle `counter_stats`
--
ALTER TABLE `counter_stats`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=548;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
(549, '08.07.2021', 28, 105),
(550, '08.07.2021', 28, 104),
(551, '08.07.2021', 28, 103),
(552, '08.07.2021', 28, 102),
(553, '08.07.2021', 28, 101),
(554, '08.07.2021', 28, 100),
(555, '08.07.2021', 28, 99),
(556, '08.07.2021', 28, 98),
(557, '08.07.2021', 28, 97),
(558, '08.07.2021', 28, 96),
(559, '08.07.2021', 28, 95),
(560, '08.07.2021', 28, 94),
(561, '08.07.2021', 28, 93),
(562, '08.07.2021', 28, 92),
(563, '08.07.2021', 28, 91),
(564, '08.07.2021', 28, 90),
(565, '08.07.2021', 28, 89),
(566, '08.07.2021', 28, 88),
(567, '08.07.2021', 28, 87),
(568, '08.07.2021', 28, 86),
(569, '08.07.2021', 28, 85),
(570, '08.07.2021', 28, 84),
(571, '08.07.2021', 28, 83),
(572, '08.07.2021', 28, 82),
(573, '08.07.2021', 28, 81),
(574, '08.07.2021', 28, 80),
(575, '08.07.2021', 28, 79),
(576, '08.07.2021', 28, 78),
(577, '08.07.2021', 28, 77),
(578, '08.07.2021', 28, 76),
(579, '08.07.2021', 28, 75),
(580, '08.07.2021', 28, 74),
(581, '08.07.2021', 28, 73),
(582, '08.07.2021', 28, 72),
(583, '08.07.2021', 28, 71),
(584, '08.07.2021', 28, 70),
(585, '08.07.2021', 28, 69),
(586, '08.07.2021', 28, 68),
(587, '08.07.2021', 28, 67),
(588, '08.07.2021', 28, 66),
(589, '08.07.2021', 28, 65),
(590, '08.07.2021', 28, 64),
(591, '08.07.2021', 28, 63),
(592, '08.07.2021', 28, 62),
(593, '08.07.2021', 28, 61),
(594, '08.07.2021', 28, 60),
(595, '08.07.2021', 28, 59),
(596, '08.07.2021', 28, 58),
(597, '08.07.2021', 28, 57),
(598, '08.07.2021', 28, 56),
(599, '08.07.2021', 28, 55),
(600, '08.07.2021', 27, 53),
(601, '08.07.2021', 26, 51),
(602, '08.07.2021', 25, 49),
(603, '08.07.2021', 24, 47),
(604, '08.07.2021', 23, 45),
(605, '08.07.2021', 22, 43),
(606, '08.07.2021', 21, 41),
(607, '08.07.2021', 20, 39),
(608, '08.07.2021', 19, 37),
(609, '08.07.2021', 18, 35),
(610, '08.07.2021', 17, 33),
(611, '08.07.2021', 16, 31),
(612, '08.07.2021', 15, 29),
(613, '08.07.2021', 14, 27),
(614, '08.07.2021', 13, 25),
(615, '08.07.2021', 12, 23),
(616, '08.07.2021', 11, 21),
(617, '08.07.2021', 10, 19),
(618, '08.07.2021', 9, 17),
(619, '08.07.2021', 8, 15),
(620, '08.07.2021', 7, 13),
(621, '08.07.2021', 6, 11),
(622, '08.07.2021', 5, 9),
(623, '08.07.2021', 4, 7),
(624, '08.07.2021', 3, 5),
(625, '08.07.2021', 2, 3),
(626, '08.07.2021', 1, 1);
Code: Alles auswählen
<?php
include($_SERVER["DOCUMENT_ROOT"].'/kopf.php');
include_once($_SERVER["DOCUMENT_ROOT"].'/includes/config.inc');
include($_SERVER["DOCUMENT_ROOT"].'/includes/lang/'.$lang.'/main.inc');
$ip = $_SERVER["REMOTE_ADDR"];
$zeit = time();
$datum = date("d.m.Y");
$ablaufzeit = time() - 86400; // IP Sperre!
//--- Alte IP-Adresse löschen -------------------------------------------
$sql = 'DELETE * FROM counter_ip WHERE zeit <= ' . (int) $ablaufzeit;
mysqli_query($db, $sql);
// --- Ist die IP-Adresse schon in der DB-Tabelle
$sql = "SELECT ip FROM counter_ip WHERE ip='" . (string) mysqli_real_escape_string($db, $ip) . "'";
$result = mysqli_query($db, $sql);
$ip_exists = mysqli_num_rows($result);
if ($ip_exists)
{
// Ja, dann Counter aktualisieren
$sql = "UPDATE counter_stats SET besucher=besucher + 1, hits=hits + 1 WHERE datum='" . (string) mysqli_real_escape_string($db, $datum) . "'";
mysqli_query($db, $sql);
}
else
{
// Nein, IP-Adresse und Timestamp eintragen
$sql = "INSERT INTO counter_ip (ip, zeit) VALUES ('" . (string) mysqli_real_escape_string($db, $ip) . "', " . time() . ")";
mysqli_query($db, $sql);
$sql = "INSERT INTO counter_stats (besucher, hits, datum) VALUES (1, 1, '" . (string) mysqli_real_escape_string($db, $datum) . "')";
mysqli_query($db, $sql);
}
// -----------------------------------------------------------------------------------------------------------------
// Counter Daten von heute
$sql = "SELECT besucher,hits FROM counter_stats WHERE datum = '" . (string) mysqli_real_escape_string($db, $datum) . "'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_heute = $row['besucher'];
$hits_heute = $row['hits'];
}
// Counter Daten gesamt
$sql = 'SELECT sum(besucher) besucher, sum(hits) hits FROM counter_stats WHERE 1';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gesamt = $row['besucher'];
$hits_gesamt = $row['hits'];
}
// Hits von Gestern
$sql = "SELECT * FROM counter_stats WHERE datum = '" . (string) mysqli_real_escape_string($db, $datum) . "'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gestern = $row['besucher'];
$hits_gestern = $row['hits'];
}
// Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM counter_ip';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_online = $row['ip'];
}
// registrierte Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM users';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_online_reg = $row['ip'];
}
// Besucher Gestern
$sql = "SELECT * FROM counter_stats ORDER BY id DESC LIMIT 1";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gestern = $row['besucher'];
$hits_gestern = $row['hits'];
}
// Anzeigen
echo '
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0428 . $datum . '</span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0205 . $besucher_online_reg . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0200 . $besucher_online . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0201 . $besucher_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0369 . $besucher_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0202 . $besucher_gesamt . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0203 . $hits_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0370 . $hits_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/e.gif> <span class=text>' . $text_0204 . $hits_gesamt . ' </span><br>
';
?>
Ich habe die die DB nur deshalb gepostet da früher pro Tag nur 1 Eintrag erfolgt ist und der immer wieder überschrieben wird.
counter_stats
(532, '18.01.2021', 592, 952),
(533, '19.01.2021', 512, 719),
(534, '20.01.2021', 755, 1043),
(535, '21.01.2021', 413, 662),
(536, '22.01.2021', 446, 757),
(544, '08.07.2021', 64, 190),
(545, '08.07.2021', 64, 189),
(546, '08.07.2021', 64, 188),
(547, '08.07.2021', 64, 187),
(548, '08.07.2021', 64, 178),
(549, '08.07.2021', 64, 177),
(550, '08.07.2021', 64, 176),
(551, '08.07.2021', 64, 175),
(552, '08.07.2021', 64, 174),
(553, '08.07.2021', 64, 173),
(554, '08.07.2021', 64, 172),
(555, '08.07.2021', 64, 171),
(556, '08.07.2021', 64, 170),
(557, '08.07.2021', 64, 169),
(558, '08.07.2021', 64, 168),
(559, '08.07.2021', 64, 167),
(560, '08.07.2021', 64, 166),
(561, '08.07.2021', 64, 165),
(562, '08.07.2021', 64, 164),
(563, '08.07.2021', 64, 163),
(564, '08.07.2021', 64, 162),
(565, '08.07.2021', 64, 161),
(566, '08.07.2021', 64, 160),
(567, '08.07.2021', 64, 159),
(568, '08.07.2021', 64, 158),
(569, '08.07.2021', 64, 157),
(570, '08.07.2021', 64, 156),
(571, '08.07.2021', 64, 155),
(572, '08.07.2021', 64, 154),
(573, '08.07.2021', 64, 153),
(574, '08.07.2021', 64, 152),
(575, '08.07.2021', 64, 151),
(576, '08.07.2021', 64, 150),
(577, '08.07.2021', 64, 149),
(578, '08.07.2021', 64, 148),
(579, '08.07.2021', 64, 147),
(580, '08.07.2021', 64, 146),
(581, '08.07.2021', 64, 145),
(582, '08.07.2021', 64, 144),
(583, '08.07.2021', 64, 143),
(584, '08.07.2021', 64, 142),
(585, '08.07.2021', 64, 141),
(586, '08.07.2021', 64, 140),
(587, '08.07.2021', 64, 139),
(588, '08.07.2021', 64, 138),
(589, '08.07.2021', 64, 137),
(590, '08.07.2021', 64, 136),
(591, '08.07.2021', 64, 135),
(592, '08.07.2021', 64, 134),
(593, '08.07.2021', 64, 133),
(594, '08.07.2021', 64, 132),
(595, '08.07.2021', 64, 131),
(596, '08.07.2021', 64, 130),
(597, '08.07.2021', 64, 129),
(598, '08.07.2021', 64, 128),
(599, '08.07.2021', 64, 127),
(600, '08.07.2021', 63, 125),
(601, '08.07.2021', 62, 123),
(602, '08.07.2021', 61, 121),
(603, '08.07.2021', 60, 119),
(604, '08.07.2021', 59, 117),
(605, '08.07.2021', 58, 115),
(606, '08.07.2021', 57, 113),
(607, '08.07.2021', 56, 111),
(608, '08.07.2021', 55, 109),
(609, '08.07.2021', 54, 107),
(610, '08.07.2021', 53, 105),
(611, '08.07.2021', 52, 103),
(612, '08.07.2021', 51, 101),
(613, '08.07.2021', 50, 99),
(614, '08.07.2021', 49, 97),
(615, '08.07.2021', 48, 95),
(616, '08.07.2021', 47, 93),
(617, '08.07.2021', 46, 91),
(618, '08.07.2021', 45, 89),
(619, '08.07.2021', 44, 87),
(620, '08.07.2021', 43, 85),
(621, '08.07.2021', 42, 83),
(622, '08.07.2021', 41, 81),
(623, '08.07.2021', 40, 79),
(624, '08.07.2021', 39, 77),
(625, '08.07.2021', 38, 75),
(626, '08.07.2021', 37, 73),
(627, '08.07.2021', 36, 71),
(628, '08.07.2021', 35, 69),
(629, '08.07.2021', 34, 67),
(630, '08.07.2021', 33, 65),
(631, '08.07.2021', 32, 63),
(632, '08.07.2021', 31, 61),
(633, '08.07.2021', 30, 59),
(634, '08.07.2021', 29, 57),
(635, '08.07.2021', 28, 55),
(636, '08.07.2021', 27, 53),
(637, '08.07.2021', 26, 51),
(638, '08.07.2021', 25, 49),
(639, '08.07.2021', 24, 47),
(640, '08.07.2021', 23, 45),
(641, '08.07.2021', 22, 43),
(642, '08.07.2021', 21, 41),
(643, '08.07.2021', 20, 39),
(644, '08.07.2021', 19, 37),
(645, '08.07.2021', 18, 35),
(646, '08.07.2021', 17, 33),
(647, '08.07.2021', 16, 31),
(648, '08.07.2021', 15, 29),
(649, '08.07.2021', 14, 27),
(650, '08.07.2021', 13, 25),
(651, '08.07.2021', 12, 23),
(652, '08.07.2021', 11, 21),
(653, '08.07.2021', 10, 19),
(654, '08.07.2021', 9, 17),
(655, '08.07.2021', 8, 15),
(656, '08.07.2021', 7, 13),
(657, '08.07.2021', 6, 11),
(658, '08.07.2021', 5, 9),
(659, '08.07.2021', 4, 7),
(660, '08.07.2021', 3, 5),
(661, '08.07.2021', 2, 3),
(662, '08.07.2021', 1, 1),
(663, '09.07.2021', 15, 29),
(664, '09.07.2021', 14, 27),
(665, '09.07.2021', 13, 25),
(666, '09.07.2021', 12, 23),
(667, '09.07.2021', 11, 21),
(668, '09.07.2021', 10, 19),
(669, '09.07.2021', 9, 17),
(670, '09.07.2021', 8, 15),
(671, '09.07.2021', 7, 13),
(672, '09.07.2021', 6, 11),
(673, '09.07.2021', 5, 9),
(674, '09.07.2021', 4, 7),
(675, '09.07.2021', 3, 5),
(676, '09.07.2021', 2, 3),
(677, '09.07.2021', 1, 1);
Gruß Ingo// Counter aktualisieren
$sql = "UPDATE counter_stats SET besucher=besucher + 1 WHERE datum=$datum";
if (mysqli_num_rows()==0)
{ sql = "INSERT INTO counter_stats (datum,besucher) VALUES ('$datum','1');"; }
if (mysqli_num_rows()==0)
ist ja auch falsch!if (mysqli_num_rows($result)==0)
wäre richtig, was voraussetzt, dass $result
auch über $result = mysql_query($db, $sql);
gefüllt wird.Code: Alles auswählen
(688, '09.07.2021', 3, 5),
(689, '09.07.2021', 2, 3),
(690, '09.07.2021', 1, 1),
(691, '10.07.2021', 2, 3),
(692, '10.07.2021', 1, 1),
(693, '10.07.2021', 1, 1),
(694, '10.07.2021', 1, 1),
(695, '10.07.2021', 1, 1),
(696, '10.07.2021', 1, 1),
(697, '10.07.2021', 1, 1),
(698, '10.07.2021', 1, 1),
(699, '10.07.2021', 1, 1);
Wird von meinem Script ein neuer Eintrag angelegt oder vom Original-Script?
Code: Alles auswählen
<?php
include($_SERVER["DOCUMENT_ROOT"].'/kopf.php');
include_once($_SERVER["DOCUMENT_ROOT"].'/includes/config.inc');
include($_SERVER["DOCUMENT_ROOT"].'/includes/lang/'.$lang.'/main.inc');
$ip = $_SERVER["REMOTE_ADDR"];
$zeit = time();
$datum = date("d.m.Y");
$ablaufzeit = time() - 86400; // IP Sperre!
//--- Alte IP-Adresse löschen -------------------------------------------
$sql = 'DELETE * FROM counter_ip WHERE zeit <= ' . (int) $ablaufzeit;
mysqli_query($db, $sql);
// --- Ist die IP-Adresse schon in der DB-Tabelle
$sql = "SELECT ip FROM counter_ip WHERE ip='" . (string) mysqli_real_escape_string($db, $ip) . "'";
$result = mysqli_query($db, $sql);
$ip_exists = mysqli_num_rows($result);
if (!$ip_exists)
{
// Nein, IP-Adresse und Timestamp eintragen
$sql = "INSERT INTO counter_ip (ip, zeit) VALUES ('" . (string) mysqli_real_escape_string($db, $ip) . "', " . time() . ")";
mysqli_query($db, $sql);
}
// --- Ist das aktuielle Datum schon in der DB-Tabelle
$sql = "SELECT id FROM counter_stats WHERE datum='" . (string) mysqli_real_escape_string($db, $datum) . "'";
$result = mysqli_query($db, $sql);
$date_exists = mysqli_num_rows($result);
if ($date_exists)
{
$sql = "UPDATE counter_stats SET besucher=besucher + 1, hits=hits + 1 WHERE datum='" . (string) mysqli_real_escape_string($db, $datum) . "'";
mysqli_query($db, $sql);
}
else
{
$sql = "INSERT INTO counter_stats (besucher, hits, datum) VALUES (1, 1, '" . (string) mysqli_real_escape_string($db, $datum) . "')";
mysqli_query($db, $sql);
}
// -----------------------------------------------------------------------------------------------------------------
// Counter Daten von heute
$sql = "SELECT besucher,hits FROM counter_stats WHERE datum = '" . (string) mysqli_real_escape_string($db, $datum) . "'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_heute = $row['besucher'];
$hits_heute = $row['hits'];
}
// Counter Daten gesamt
$sql = 'SELECT sum(besucher) besucher, sum(hits) hits FROM counter_stats WHERE 1';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gesamt = $row['besucher'];
$hits_gesamt = $row['hits'];
}
// Hits von Gestern
$sql = "SELECT * FROM counter_stats WHERE datum = '" . (string) mysqli_real_escape_string($db, $datum) . "'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gestern = $row['besucher'];
$hits_gestern = $row['hits'];
}
// Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM counter_ip';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_online = $row['ip'];
}
// registrierte Besucher Online
$sql = 'SELECT COUNT(*) AS ip FROM users';
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_online_reg = $row['ip'];
}
// Besucher Gestern
$sql = "SELECT * FROM counter_stats ORDER BY id DESC LIMIT 1";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_assoc($result);
if ($row)
{
$besucher_gestern = $row['besucher'];
$hits_gestern = $row['hits'];
}
// Anzeigen
echo '
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0428 . $datum . '</span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0205 . $besucher_online_reg . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0200 . $besucher_online . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0201 . $besucher_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0369 . $besucher_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0202 . $besucher_gesamt . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0203 . $hits_heute . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/m.gif> <span class=text>' . $text_0370 . $hits_gestern . ' </span><br>
<img src=' . $pfad . '/layout/spacer.gif><img src=' . $pfad . '/layout/navi/e.gif> <span class=text>' . $text_0204 . $hits_gesamt . ' </span><br>
';
?>