murb.com Hauptseite  •   Registrieren  •  SUCHE  •  FAQ  •  Mitgliederliste  •  Forenregeln  •  Login
Neue Antwort erstellen SQL-Counter
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter
smood
Beiträge: 2
Antworten mit Zitat
Hallo Leute,

ich würde gerne wissen, wie bei dem SQL-Counter folgende Optionen (wie bei dem txt-counter) standartmäßig eingestellt sind und wo man sie änder kann:

$ipsperre = "yes";------------------------------// IP-Sperre
$ipstore = "4000";------------------------------// IP-Adressen-Anzahl (Besucherzähler)
$iptime = "86400";-----------------------------// IP-Adressen-Zeitbegrenzung
$onlineipstore = "5000";-----------------------// IP-Adressen-Anzahl (Onlinezähler)
$onlinetime = "600";---------------------------// Online-Zeit für einen Besucher

Damit meine ich, ab wieviel Stunden werden bei dem SQL-Counter die Besucher-Ips neu gezählt und wo man es ändern kann.

Danke im Voraus

gruß
smood
Benutzer-Profile anzeigenAlle Beiträge von smood anzeigenPrivate Nachricht senden
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Da es noch die Beta-Version ist, gibt es noch keine allgemeinen Variablen zum festlegen.

Im Moment ist die IP-Sperr-Zeit auf 900 Sek (15 min) festgelegt und die Online-User-Zeit auf 300 Sek (5 min). Ändern kannst Du dies in der Zeile mit dem Kommentar "Liegt der letzte Besuch länger als diese Zeit zurück, so gilt der User als neuer Besucher"

Vielleicht kommt in den nächsten Wochen endlich die entgültige Version online. Smile
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
smood
Beiträge: 2
Antworten mit Zitat
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 Very Happy

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). Shocked Da wäre ich auch bereit mit Vergnügen Geld dafür hinzublettern Wink

wünsche euch noch viel Erfolg mit dem Script

gruß
smood
Benutzer-Profile anzeigenAlle Beiträge von smood anzeigenPrivate Nachricht senden
rian
Beiträge: 1
Antworten mit Zitat
Hallo,

ich hab auch das Problem, dass der Counter die Besucher nicht zählt (sondern nur die Seitenhits). Habe ein Woltlab-Board und den Counter in den Footer eingebunden. Die ersten Tage funzte dieser perfekt. Bei direktem Aufruf der php-Datei zählt er einen Besucher hoch, sonst nicht. Habe die IP-Zahl in der php-Datei auf 500 gesetzt. Wie erkenne ich denn nun mit PHPmyAdmin, wieviele IP-Adressen der gespeichert hat?

Danke und Grüße.

edit:
ok, sry. Habe mal alles gelesen und muss mal die Änderungen testen. Kennt trotzdem jmd. eine Pauschallösung?
Benutzer-Profile anzeigenAlle Beiträge von rian anzeigenPrivate Nachricht senden
Eigene Besuche
skiemor
Beiträge: 4
Antworten mit Zitat
Hallo, kann man die Einstellungen so verändern, dass die eigenen Besuche nicht mitgezählt werden?
Benutzer-Profile anzeigenAlle Beiträge von skiemor anzeigenPrivate Nachricht senden
Re: Eigene Besuche
aVe
LM;
Beiträge: 1507
Antworten mit Zitat
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.

_________________
mfG aVe
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit. (Mark Twain)
Miranda IM Version: 0.8.24 Unicode | ICQJ Plus Mod | 0.3.10.64 | Unicode aware |
Benutzer-Profile anzeigenAlle Beiträge von aVe anzeigenPrivate Nachricht senden
Ausgabe in deutsch und englisch
skiemor
Beiträge: 4
Antworten mit Zitat
Wie kann man die Ausgabe zweisprachig anzeigen lassen, also je nach Auswahl in z.B. deutsch oder englisch?


Zuletzt bearbeitet von skiemor am 24.01.2008, 19:49, insgesamt einmal bearbeitet
Benutzer-Profile anzeigenAlle Beiträge von skiemor anzeigenPrivate Nachricht senden
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Modifiziere dazu einfach die Ausgabe (unten):
Code:
if ($_SESSION["language"] == "de") {
$writecounter = "Online: ".$newonline.$splitter;
$writecounter .= "Onlinerekord: ".$fstats[online_record].$splitter;
$writecounter .= "Heute: ".$fstats[today].$splitter;
$writecounter .= "Gestern: ".$fstats[yesterday].$splitter;
$writecounter .= "Tagesrekord: ".$fstats[day_record].$splitter;
$writecounter .= "Gesamt: ".$fstats[total].$splitter;
$writecounter .= "Seitenaufrufe: ".$fstats[pages_total];
}
else {
$writecounter = "Online: ".$newonline.$splitter;
$writecounter .= "Online record: ".$fstats[online_record].$splitter;
$writecounter .= "Today: ".$fstats[today].$splitter;
$writecounter .= "Yesterday: ".$fstats[yesterday].$splitter;
$writecounter .= "Day record: ".$fstats[day_record].$splitter;
$writecounter .= "Total: ".$fstats[total].$splitter;
$writecounter .= "Page hits: ".$fstats[pages_total];
}


Die if-Abfrage aber noch entsprechend deiner Sprachenerkennung festlegen. Exclamation
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
if-Abfrage
skiemor
Beiträge: 4
Antworten mit Zitat
Vielen Dank für deine Hilfe, Firewolf!
Die Modifizierung ist ja noch schön einfach, aber wie soll ich die if-Abfrage anpassen? Embarassed
Benutzer-Profile anzeigenAlle Beiträge von skiemor anzeigenPrivate Nachricht senden
Re: Eigene Besuche
skiemor
Beiträge: 4
Antworten mit Zitat
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.
Benutzer-Profile anzeigenAlle Beiträge von skiemor anzeigenPrivate Nachricht senden
Robert
Gast
Antworten mit Zitat
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 &quot;$db_counter&quot; existiert bereits.<br>";
}
$tabellencheck2 = @mysql_query("SELECT * FROM $db_iplog");
if (@
mysql_num_rows($tabellencheck2) != 0)
{
$installerror 1;
echo 
"Die Tabelle &quot;$db_iplog&quot; 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) == || @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
Antworten mit Zitat
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 Wink

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 Wink
Dann gibts auch gleich ne neue version Wink
Frage
Neuer
Gast
Antworten mit Zitat
Hallo habe mir den Counter auch installiert...
Will jetzt die Ip-Adressen angezeigt bekommen...
Wie kann ich das machen
will sie am besten noch in einer anderen Datei angezeigt bekommen...

ich weiß das in der datenbank eine tabelle names iplog gibt aber da muss ich immer erst in die datenbank rein

Schonmal vielen Dank im vorraus...
Firewolf
Administrator
Beiträge: 239
Antworten mit Zitat
Nehm dir doch einfach die Tabelle "sqlc_iplog" aus der Datenbank vor und lese diese mittels einer extra PHP-Datei aus. Dort kannst du die Einträge beliebig listen lassen. Smile
Benutzer-Profile anzeigenAlle Beiträge von Firewolf anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
FlaverSaver
Gast
Antworten mit Zitat
Hi Leute, hab da noch mal eine Frage:

Hab den Counter nun auch Wink *Forum ausgrab*
Nunja aber jetzt möchte ich den wert von Total User ändern.
Also von 0 bzw 1 auf meine eigedlichen 3580 Wink
Kann mir da jemand helfen? Smile
Würd mich freuen xD
SQL-Counter
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  

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