 |
 | |  |
 | |  |
smood
|
Verfasst am: 23.07.2007, 20:16 |
|
 |
 |
vielen Dank! werde auf jeden Fall hin und wieder vorbei schauen wegen der End-Version. Ich habe mir schon einige Scripts angeschaut, bis jetzt war euer am besten (eig. fast perfekt)
Vielleicht noch als kleiner Tipp: es wäre schön, wenn man noch die Zähler für "Besucher in diesem Monat" und "Besucher im letzten Monat" einführen könnte
Und was noch ganz toll wäre, wenn ihr wie hier eine Seite erstellt, wo die ganzen Statistiken aufgeführt sind. Dann könnte ich nicht nur den Counter von euch nutzen, sondern auch die Statistik. (der Counter bei den anderen hat zu viele Problemchen).  Da wäre ich auch bereit mit Vergnügen Geld dafür hinzublettern
wünsche euch noch viel Erfolg mit dem Script
gruß
smood
|
|
 | Eigene Besuche |  |
 | Re: Eigene Besuche |  |
 | Ausgabe in deutsch und englisch |  |
 | if-Abfrage |  |
 | Re: Eigene Besuche |  |
skiemor
|
Verfasst am: 24.01.2008, 21:31 |
|
 |
 |
aVe hat Folgendes geschrieben: | skiemor hat Folgendes geschrieben: | Hallo, kann man die Einstellungen so verändern, dass die eigenen Besuche nicht mitgezählt werden? |
Ich denke das es nicht möglich ist, außer wenn du immer die selbe IP hast. |
Ok, und wenn ich das so mache:
Zitat: | if ($diff > 86400) // 24 Stunden - Liegt der letzte Besuch länger als diese Zeit zurück, so gilt der User als neuer Besucher |
werde ich vom gleichen PC doch auch nur einmal in 24 h gezählt, oder?
Was bedeutet das genau: "Wenn der letzte Besuch länger als diese Zeit her ist, wird die Zeit aktualisiert."?
Zitat: | if ($diff > 86400) // 24 Stunden - Wenn der letzte Besuch länger als diese Zeit her ist, wird die Zeit aktualisiert. |
|
|
 | |  |
Robert Gast
|
Verfasst am: 04.04.2008, 20:14 |
|
 |
 |
hallo ich habe den Counter um folgende Werte erweitert:
- Wochenbesucher
- Besucher letzte Woche
- Monatsbesucher
- Besucher letzter Monat
- Jahresbesucher
- Besucher letztes Jahr
Viel Spass
PHP-Code: | <?php
##################################
# #
# MySQL-Datenbank Zugangsdaten #
# #
##################################
$dbhost = "localhost"; // Datenbank-Adresse (IP); Standard "localhost"
$dbname = "datenbank"; // Datenbank-Name
$dbuser = "benutzername"; // Benutzername
$dbpwd = "passwort"; // Benutzerpasswort
#### Tabellen ####
$db_counter = "sqlc_counter";
$db_iplog = "sqlc_iplog";
#### Einstellungen ####
$splitter = "<br>";
##################
$datenbank = mysql_connect($dbhost, $dbuser, $dbpwd);
mysql_select_db($dbname, $datenbank);
if ($_GET[action] == "install") // Tabellen-Installation
{
$installerror = 0;
$tabellencheck1 = @mysql_query("SELECT * FROM $db_counter WHERE id = '1'");
if (@mysql_num_rows($tabellencheck1) != 0)
{
$installerror = 1;
echo "Die Tabelle "$db_counter" existiert bereits.<br>";
}
$tabellencheck2 = @mysql_query("SELECT * FROM $db_iplog");
if (@mysql_num_rows($tabellencheck2) != 0)
{
$installerror = 1;
echo "Die Tabelle "$db_iplog" existiert bereits.";
}
if ($installerror == 1)
{
exit;
}
else
{
$install1 = "CREATE TABLE $db_counter (";
$install1 .= "id int(10) NOT NULL default '0', ";
$install1 .= "online_record int(20) NOT NULL default '0', ";
$install1 .= "today int(20) NOT NULL default '0', ";
$install1 .= "yesterday int(20) NOT NULL default '0', ";
$install1 .= "day_record int(20) NOT NULL default '0', ";
$install1 .= "week int(20) NOT NULL default '0', ";
$install1 .= "last_week int(20) NOT NULL default '0', ";
$install1 .= "month int(20) NOT NULL default '0', ";
$install1 .= "last_month int(20) NOT NULL default '0', ";
$install1 .= "year int(20) NOT NULL default '0', ";
$install1 .= "last_year int(20) NOT NULL default '0', ";
$install1 .= "total int(20) NOT NULL default '0', ";
$install1 .= "pages_total int(20) NOT NULL default '0', ";
$install1 .= "date_day int(20) NOT NULL default '0', ";
$install1 .= "date_week int(20) NOT NULL default '0', ";
$install1 .= "date_month int(20) NOT NULL default '0', ";
$install1 .= "date_year int(20) NOT NULL default '0', ";
$install1 .= "PRIMARY KEY (id)) TYPE=MyISAM";
mysql_query($install1) or die (mysql_error() . ": " . mysql_error() . "\n");
mysql_query("INSERT INTO $db_counter SET id = '1', online_record = '1'");
$install2 = "CREATE TABLE $db_iplog (";
$install2 .= "id int(10) NOT NULL auto_increment, ";
$install2 .= "ip varchar(254) NOT NULL default '', ";
$install2 .= "timestamp int(20) NOT NULL default '0', ";
$install2 .= "PRIMARY KEY (id)) TYPE=MyISAM";
mysql_query($install2) or die (mysql_error() . ": " . mysql_error() . "\n");
mysql_query("INSERT INTO $db_iplog SET ip = '127.0.0.0'");
echo "Installation erfolgreich!";
exit;
}
}
$tabellencheck1 = @mysql_query("SELECT * FROM $db_counter WHERE id = '1'");
$tabellencheck2 = @mysql_query("SELECT * FROM $db_iplog");
if (@mysql_num_rows($tabellencheck1) == 0)
{
@mysql_query("INSERT INTO $db_counter SET id = '1', online_record = '1'");
}
if (@mysql_num_rows($tabellencheck2) == 0)
{
@mysql_query("INSERT INTO $db_iplog SET ip = '127.0.0.0'");
}
$tabellencheck3 = @mysql_query("SELECT * FROM $db_counter WHERE id = '1'");
$tabellencheck4 = @mysql_query("SELECT * FROM $db_iplog");
if (@mysql_num_rows($tabellencheck3) == 0 || @mysql_num_rows($tabellencheck4) == 0)
{
echo "ERROR: Tabellen sind nicht korrekt installiert.";
exit;
}
$timestamp = time(); // Aktuelle Zeit
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$varip = getenv('HTTP_X_FORWARDED_FOR');
}
else
{
$varip = getenv('REMOTE_ADDR');
}
$countuser = 1;
$newuser = 0;
$fetchlogs = mysql_query("SELECT * FROM $db_iplog", $datenbank);
$loganzahl = mysql_affected_rows();
if ($loganzahl > 0) // Wenn bereits user geloggt wurden
{
while ($flogs = mysql_fetch_array($fetchlogs))
{
if ($flogs[ip] == $varip) // User ist bereits geloggt
{
$diff = $timestamp - $flogs[timestamp];
if ($diff > 600) // Liegt der letzte Besuch länger als diese Zeit zurück, so gilt der User als neuer Besucher
{
$countuser = 1;
}
else
{
$countuser = 0;
}
$newuser = $flogs[id];
if ($diff > 300) // Wenn der letzte Besuch länger als diese Zeit her ist, wird die Zeit aktualisiert.
{
$sql = "UPDATE $db_iplog SET ";
$sql .= "timestamp = '$timestamp' ";
$sql .= "WHERE id = '$newuser'";
mysql_query($sql);
}
}
}
}
else
{
$countuser = 1; // User zählt als neuer Besucher (ist noch nicht geloggt)
}
### Day ###
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
$date_day = date("d");
if ($date_day != $fstats[date_day]) // Ein neuer Tag ist angebrochen...
{
$yesterday = $fstats[today];
$sql = "UPDATE $db_counter SET ";
$sql .= "date_day = '$date_day', ";
$sql .= "yesterday = '$fstats[today]', ";
if ($countuser == "1")
{
$sql .= "today = '0' ";
}
else
{
$sql .= "today = '1' ";
}
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
### End Day ###
### Week ###
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
$date_week = date("W");
if ($date_week != $fstats[date_week]) // Ein neuer Tag ist angebrochen...
{
$last_week = $fstats[week];
$sql = "UPDATE $db_counter SET ";
$sql .= "date_week = '$date_week', ";
$sql .= "last_week = '$fstats[week]', ";
if ($countuser == "1")
{
$sql .= "week = '0' ";
}
else
{
$sql .= "week = '1' ";
}
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
### End Week ###
### Month ###
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
$date_month = date("n");
if ($date_month != $fstats[date_month]) // Ein neuer Tag ist angebrochen...
{
$last_month = $fstats[month];
$sql = "UPDATE $db_counter SET ";
$sql .= "date_month = '$date_month', ";
$sql .= "last_month = '$fstats[month]', ";
if ($countuser == "1")
{
$sql .= "month = '0' ";
}
else
{
$sql .= "month = '1' ";
}
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
### End Month ###
### Year ###
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
$date_year = date("Y");
if ($date_year != $fstats[date_year]) // Ein neuer Tag ist angebrochen...
{
$last_year = $fstats[year];
$sql = "UPDATE $db_counter SET ";
$sql .= "date_year = '$date_year', ";
$sql .= "last_year = '$fstats[year]', ";
if ($countuser == "1")
{
$sql .= "year = '0' ";
}
else
{
$sql .= "year = '1' ";
}
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
### End Year ###
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
$newcounts = 0;
if ($countuser == "1") // User wird gezählt
{
#### ip-log ####
if ($newuser == "0")
{
$sql = "INSERT into $db_iplog SET ";
$sql .= "ip = '$varip', ";
$sql .= "timestamp = '$timestamp'";
}
else
{
$sql = "UPDATE $db_iplog SET ";
$sql .= "ip = '$varip', ";
$sql .= "timestamp = '$timestamp' ";
$sql .= "WHERE id = '$newuser'";
}
mysql_query($sql);
################
$newtoday = $fstats[today] + 1;
if ($newtoday > $fstats[day_record]) // Neuer Tagesrekord?
{
$newdayrecord = $newtoday;
}
else
{
$newdayrecord = $fstats[day_record];
}
$newweek = $fstats[week] + 1;
$newcounts = 1;
$newmonth = $fstats[month] + 1;
$newcounts = 1;
$newyear = $fstats[year] + 1;
$newcounts = 1;
$newtotal = $fstats[total] + 1;
$newcounts = 1;
}
$newpagestotal = $fstats[pages_total] + 1; // Neuer Seitenhit
if ($newcounts == "1")
{
$sql = "UPDATE $db_counter SET ";
$sql .= "today = '$newtoday', ";
$sql .= "day_record = '$newdayrecord', ";
$sql .= "week = '$newweek', ";
$sql .= "month = '$newmonth', ";
$sql .= "year = '$newyear', ";
$sql .= "total = '$newtotal', ";
$sql .= "pages_total = '$newpagestotal' ";
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
else
{
$sql = "UPDATE $db_counter SET ";
$sql .= "pages_total = '$newpagestotal' ";
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
##### online-user #####
$newonline = 0;
$fetchonline = mysql_query("SELECT * FROM $db_iplog", $datenbank);
$useranzahl = mysql_affected_rows();
if ($useranzahl > 0)
{
while ($fonline = mysql_fetch_array($fetchonline))
{
$diff = $timestamp - $fonline[timestamp];
if ($diff <= 300) // Alle Logeinträge die weniger als diese Zeit als sind gelten als Online-User
{
$newonline += 1;
}
}
}
if ($newonline < 1) // Weniger als 1 nicht möglich...
{
$newonline = 1;
}
if ($newonline > $fstats[online_record]) // Neuer Onlinerekord?
{
$newonlinerecord = $newonline;
$sql = "UPDATE $db_counter SET ";
$sql .= "online_record = '$newonlinerecord' ";
$sql .= "WHERE id = '1'";
mysql_query($sql);
}
#######################
$fetchlogs = mysql_query("SELECT * FROM $db_iplog", $datenbank);
$logsanzahl = mysql_affected_rows();
if ($logsanzahl > 100) // Es werden maximal [Anzahl] IPs + Timestamp gespeichert
{
$y = $logsanzahl - 100;
while ($y > 0)
{
$fetchlogs = mysql_query("SELECT * FROM $db_iplog ORDER BY id ASC", $datenbank);
$flogs = mysql_fetch_array($fetchlogs);
mysql_query("DELETE FROM $db_iplog WHERE id = '$flogs[id]'");
$y -= 1;
}
}
$fetchstats = mysql_query("SELECT * FROM $db_counter WHERE id = '1'", $datenbank);
$fstats = mysql_fetch_array($fetchstats);
######### Counter ausgeben ##########
$writecounter = "Online:".$newonline.$splitter;
$writecounter .= "Heute:".$fstats[today].$splitter;
$writecounter .= "Vortag:".$fstats[yesterday].$splitter;
$writecounter .= "Tagesrekord:".$fstats[day_record].$splitter;
$writecounter .= "Woche:".$fstats[week].$splitter;
$writecounter .= "Vorwoche:".$fstats[last_week].$splitter;
$writecounter .= "Monat:".$fstats[month].$splitter;
$writecounter .= "Vormonat:".$fstats[last_month].$splitter;
$writecounter .= "Jahr:".$fstats[year].$splitter;
$writecounter .= "Vorjahr:".$fstats[last_year].$splitter;
$writecounter .= "Gesamt:".$fstats[total].$splitter;
$writecounter .= "Seitenaufrufe:".$fstats[pages_total];
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="left" valign="top" style="padding: 0px"><?php echo $writecounter; ?></td>
</tr>
</table> |
|
|
 | |  |
Guest Gast
|
Verfasst am: 23.04.2009, 14:41 |
|
 |
 |
Hi,
erstma tolle community hier ^^
und gleich meine frage:
hier wurde doch schonmal i-wo gefragt ob man es ausschalten kann, dass man selbst mitgezählt wird.
und eine antwort hieß: nein! nur wenn man die gleiche immer die gleiche ip hat und keine dynamische. (oder so ähnlich...
Es gibt schon noch einen weg!
ich sage nur " Cookie"
und schwer die funktion einzubauen, dass ein cookie gespeichert wird, ist's ja auch wieder nicht
hoffe konnte helfen
Und Robert hat ja den Counter schon um einige (für mich zwar sinnlose aber naja...) angaben erweitert dann schafft er bestimmt auch das !
oder der entwickler macht's
Dann gibts auch gleich ne neue version 
|
|
 | Frage |  |
FlaverSaver Gast
|
Verfasst am: 17.06.2009, 22:01 |
|
 |
 |
Hi Leute, hab da noch mal eine Frage:
Hab den Counter nun auch  *Forum ausgrab*
Nunja aber jetzt möchte ich den wert von Total User ändern.
Also von 0 bzw 1 auf meine eigedlichen 3580
Kann mir da jemand helfen?
Würd mich freuen xD
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht 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 3 von 6
|
|
|
|  |