Counter problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzahl
ausgeben
bescheid
code
dank
date
datenbank
fehler
herstellen
not
null
ordnung
probier
set
stunde
tabelle
test
url
verbindung
zugang
-
Ich hab ein Probelm mit meinem Counter
immer wenn ich auf eine andere Seite gehe(auf meiner homepage) geht es um 3 mehr
keine ahnung was ich falsch gemacht habe
hier der code
<?php error_reporting(E_ALL); $dbName = "blabla"; $dbHost = "mysql.lima-city.de"; $dbUser = "blabla"; $dbPW = "blabla"; if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error()); $date = time(); $sql ="SELECT ip FROM counter WHERE ip ='".$_SERVER['REMOTE_ADDR']."'"; $result = mysql_query ($sql) or die(mysql_error()); if (mysql_num_rows ($result) > 0) { $sql3 = "UPDATE counter SET date = '".$date."' WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"; mysql_query($sql3) OR die(mysql_error()); } else { $ip = $_SERVER['REMOTE_ADDR']; mysql_query("INSERT INTO counter (ip, date) VALUES('$ip', '$date')") or die(mysql_error()); } $new_date = $date + 86400; $sql4 = "DELETE FROM counter WHERE date = '".$new_date."'"; mysql_query($sql4) OR die(mysql_error()); $sql5 = "SELECT COUNT(*) as Anzahl FROM counter"; $result2 = mysql_query($sql5) OR die(mysql_error()); $row = mysql_fetch_assoc($result2); echo "So viele haben die seite heute besucht: ".$row['Anzahl'].""; ?>
hier noch der link zur meiner Homepage
bis vor 1 Stunde war es noch in Ordnung -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Probier's mal damit !
<?php //Fehler ausgeben error_reporting(E_ALL); //Datenbank Zugang $dbName = "blabla"; $dbHost = "mysql.lima-city.de"; $dbUser = "blabla"; $dbPW = "blabla"; //Verbindung herstellen if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error()); //Timestamp $date = time(); //stamp nach ip mysql_query("REPLACE INTO counter SET ip='{$_SERVER['REMOTE_ADDR']}', date='$date'") OR die(mysql_error()); //Lösche alte Einträge mysql_query("DELETE FROM counter WHERE date < '".($date-86400)."'") OR die(mysql_error()); //Heute $result = mysql_query("SELECT * FROM counter") OR die(mysql_error()); $rows = mysql_num_rows($result); //Ausgeben echo "So viele haben die seite heute besucht: ".$rows.""; ?>
-
jetzt gehts es nicht um 3 pro seite hoch sondern um 6
-
leer mal vorher die Datenbank. Eigentlich dürfte es immer nur einen pro IP hochgehen
-
ich hab jetzt mein Datenbank ausgeleer und habe 2 seite erstellt
1 mit dem code das du mir gegeben hast(Seite A)
1 mit dem code das ich vorher hate(Seite B)
Wenn ich mit Seite A aktualisiere geht es zwischen 3-6 hoch
aber wenn ich mit Seite B aktualisiere ändert sich net
glaubst du das es an DB lag?
-
hä? Ich versteh das irgendwie gerade nicht! Du hast jetzt 2 Seiten einmal exakt das was du gepostet hast und einmal exakt was ich... bei dir tut sich gar nix und bei meinem varriert das zwischen 3 und 6? Wie sieht denn das in der Datenbank aus, ich bin mir net sicher aber setz mal nen primary auf ip. Dann sollte meins funktionieren ^^.
Gib mal bitte Link zu den Testseiten -
http://www.afghan.lima-city.de/test.php
hier ist noch der tabelle wenn du sie sehen möchtest
CREATE TABLE IF NOT EXISTS `counter` (
`id` int(15) default NULL,
`ip` int(15) default NULL,
`date` int(15) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1; -
Wozu brauchst du die ID? IP muss unique sein, sonst funktioniert replace into nicht:
CREATE TABLE IF NOT EXISTS `counter` (
`ip` varchar(15) default NULL,
`date` int(15) default NULL,
UNIQUE KEY `ip` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Also bei mir funktioniert jetzt mein Code mit dieser Datenbank in Verbindung
Beitrag zuletzt geändert: 21.5.2009 22:07:19 von zenks -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage