Hi,
ich habe "versucht" einen Counter zu machen ... Aus bisher unerklärlichen Gründen funktioniert er nicht .. d.h. er erhöht den Counter nicht. Ich frage immer die IP ab und wenn sie schon in der Datenbank vorkommt, soll der Counter NICHT erhöht werden, sonst wird die IP eingefügt in die Datenbank.. Ein Fehler ist schonmal, dass eine IP auch doppelt eingetragen wird in die Datenbank wenn ich F5 drücke.. Eigentlich soll sie ja nur eingetragen werden, wenn sie nicht schon vorkommt... Ein zweiter Fehler ist wie gesagt, dass der Counter nicht erhöht wird in der Funktion eins() :-(. Was ist alles an dem Code falsch?
Sie sind Besucher Nummer
<?php
$datei = "counter.dat";
$fp = fopen($datei,"r+");
$var = fgets($fp,10);
if (!$var) { $var = 1; }
echo $var;
fclose($fp);
$ip = $_SERVER['REMOTE_ADDR'];
$verbindung = mysql_connect("localhost","","") or die(mysql_error());
$v = "SELECT * FROM counter WHERE IP = $ip";
$sql = mysql_query($v,$verbindung);
if ($sql <> "") {
// hier soller nix machen, weil IP vorkommt in der Tab.
} else {
$eintrag = "INSERT INTO counter (IP) VALUES ('$ip')";
$qry = mysql_query($eintrag,$verbindung) or die(mysql_error());
eins(); }
mysql_close($verbindung);
function eins() {
$fd = fopen($datei,"w+"); // w+ wegen überschreiben ist das OK?
rewind($fd);
$p = fgets($fd,10);
$p++;
fwrite($fd,$p);
fclose($fd);
}
?>
Bitte helft mir ;-)
Danke
Daniel