Super
Eigener, werbefreier Website-Counter
- Shadow
- Geschlossen
-
-
Jo und um zu testen ob es auch wirklich funktioniert kannst du die Zeitspanne ja mal auf 0 setzen oder so, dann ist die IP-Sperre auf 0 sec gesetzt, dann sollte jede Akualisierung als Visit gezählt werden.
-
Ich wurde garade aus meinen Träumen gerissen...^^
Irgendwie habe ich das Gefühl, bleibt der Counter bei 14 Hängen.
Ich bin mal mit einem Proxie drauf gegangen und habe festgestellt, das sich die Zahl auch bei veränderter IP nicht veränder. -
stell mal die Sperre auf 0 sec.
-
Ich habe deinen 3 Post genommen, da ich den 1. nicht auslesen kann.
Ich kann dort keine Sperre erkennen./edit
Soeben ist der Counter für mich unnergründlich auf 15 gestiegen -
im ersten Script ist die Zeile...
[php]$block = "86400"; // Zeitspanne in Sec für IP-Sperre[/php]
...da stellst du einfach 0 ein und dann ist die Sperre aufgehoben, klar oder? Dann aktualisierst du den Script einfach ein paar Mal und schaust bei Script Nummer 3 nach ob sich die "15" verändert hat... -
Dies sind die Zeilen, die ich für den Counter verwende:
<?
// Konfiguration
$tbl_imp = "stats_imps"; // Tablename für Impressions
$tbl_visits = "stats_visits"; // Tablename für Visits
$tbl_ips = "stats_ips"; // Tablename für IPs$db_server = "localhost"; // MySQL-Server (normal: localhost)
$db_name = "XXX"; // Name der Datenbank
$db_user = "XXX"; // Benutzername
$db_pw = "XXX"; // Passwort// Counter
$connect = @mysql_pconnect("$db_server","$db_user","$db_pw");
mysql_select_db("$db_name",$connect);$select_count = mysql_query("select sum(value) from $tbl_visits");
$sel = mysql_fetch_array($select_count);echo $sel[0];
?>
-
Äääähm... das von dir oben genannte Script ist nur zum Auslesen des aktuellen Besucherstands zuständig, sonst für NICHTS! Script Nummer 1 ist der Zähler, der bei jedem Aufruf zählt oder nicht zählt, je nachdem wie die Sperre in Sec. angegeben wurde. Script Nummer 2 war lediglich zur Erstellung der MySQL-Struktur. Verstanden?
-
und skript nur 3?
<?
// Konfiguration
$tbl_imp = "stats_imps"; // Tablename für Impressions
$tbl_visits = "stats_visits"; // Tablename für Visits
$tbl_ips = "stats_ips"; // Tablename für IPs$db_server = ""; // MySQL-Server (normal: localhost)
$db_name = ""; // Name der Datenbank
$db_user = ""; // Benutzername
$db_pw = ""; // Passwort// Counter
$connect = @mysql_pconnect("$db_server","$db_user","$db_pw");
mysql_select_db("$db_name",$connect);$select_count = mysql_query("select sum(value) from $tbl_visits");
$sel = mysql_fetch_array($select_count);echo $sel[0];
?>
gut, nachdem ich es umgestellt habe, auf post 1, bleibt noch genau eine Frage offen
Wie kann ich es auslesen? -
Also, ich habe mal Babes Script und das vom Black Sheep zusammengefasst und dabei kommt folgendes raus:
[php]
<?// Konfiguration
$tbl_imp = "stats_imps"; // Tablename für Impressions
$tbl_visits = "stats_visits"; // Tablename für Visits
$tbl_ips = "stats_ips"; // Tablename für IPs$block = "0"; // Zeitspanne in Sec für IP-Sperre
$db_server = ""; // MySQL-Server (normal: localhost)
$db_name = ""; // Name der Datenbank
$db_user = ""; // Benutzername
$db_pw = ""; // Passwort// Counter
$connect = @mysql_pconnect("$db_server","$db_user","$db_pw");
mysql_select_db("$db_name",$connect);$time = time();
$ip = getenv("REMOTE_ADDR");$hour = date("H",time());
$day = date("d",time());
$month = date("m",time());
$year = date("Y",time());$select_imps = mysql_query("select value from stats_imps where month=$month AND year=$year");
$select_visits = mysql_query("select nr from stats_visits where hour=$hour && day=$day && month=$month && year=$year");
$select_user = mysql_query("select time from stats_ips where ip=$ip");$sel = mysql_fetch_array($select_visits);
$sel2 = mysql_fetch_array($select_user);
$count = 0;if(mysql_num_rows($select_imps)){
mysql_query("update stats_imps set value=value+1 where month=$month AND year=$year");
}
else{
mysql_query("insert into stats_imps (month,year,value) values ($month,$year,1)");
}if(mysql_num_rows($select_user)!=0){
if(($sel2[0] + $block)<=time() (date("j",$sel2[0])!=date("j",time()))) $count = 1;
}
else $count = 2;if($count!=0){
if(mysql_num_rows($select_visits)!=0){
mysql_query("update stats_visits set value=value+1 where nr=$sel[0]");
}
else mysql_query("insert into stats_visits (hour,day,month,year,value) values ($hour,$day,$month,$year,1)");if($count==1) mysql_query("update stats_ips set time=$time where ip=$ip");
if($count==2) mysql_query("insert into stats_ips (ip,time) values ($ip,$time)");
}// Ausgabe
$db = mysql_connect("$db_server","$db_user","$db_pw ") or die ("Verbindung fehlgeschlagen, Einstellungen überprüfen");
mysql_select_db("$db_name",$db);
$result = mysql_query("SELECT SUM(value) as gesamt FROM stats_visits");
while($row = mysql_fetch_array($result))
{
echo Anzahl Impressions: ;
echo $row[gesamt];
}echo <br>;
$news_SQL="SELECT * FROM stats_imps";
$news_result=mysql_query($news_SQL);
while($news=mysql_fetch_array($news_result)){
echo Anzahl Besucher: ;
echo $news[value];
}mysql_close();
?>
[/php]Wenn du jetzt einfach noch deine Serverdaten richtig einfügst und diesen Quelltext irgendwo in deine HP einbindest, sollte es so aussehen Link.
Und du solltest nicht vergessen die Zeitspanne der gebockten IP zu ändern, bei mir ist sie auf Null. D.h Impressions=Besucheranzahl.Lg
-
Zitat
Original von Tobi
Also, ich habe mal Babes Script und das vom Black Sheep zusammengefasst und dabei kommt folgendes raus:Wenn du jetzt einfach noch deine Serverdaten richtig einfügst und diesen Quelltext irgendwo in deine HP einbindest, sollte es so aussehen Link.
Und du solltest nicht vergessen die Zeitspanne der gebockten IP zu ändern, bei mir ist sie auf Null. D.h Impressions=Besucheranzahl.
genau, endlich hat mich jemand verstanden ...kopier einfach den Quelltext oben, damit sollten wir das Topic jetzt endlich schließen können. -
Nebenbei würd ich dir noch empfehlen, falls dich das Thema PHP & MySQL wirklich interessiert, ein Buch zu kaufen. Das ganze ist nämlich gar nicht so kompliziert.
Dynamische Webseiten mit PHP 5 echt einfach
Jochen FrankeVerlag: Franzis
ISBN: 3-7723-6150-1Ist sehr einfach aufgebaut, und haste schnell durch.
Und für den Anfang reichts..Grüsse Bl@CkSheep
-
Zum Schluss bleibt nur noch zu sagen:
Danke für alle Antworten! -
Kein Problem, dafür sind wir doch da
...closed...