Counter mit PHP

Entschuldigt das Doppelposting.

Ich hab gerade ein Tutorial gefunden. (http://www.tutorials.de/tutorials10216.html)

Allerdings funktioniert das nicht bei mir. Ich habe Die beiden Tabellen bei phpmyadmin eingefügt. (Hab da auf SQL geklickt und dort den Code eingefügt und auf Okay geklickt)
Dann hab ich auch dort nochmal den extra Code eingefügt, der den Counter auf 0 stellt.


Dann habe ich die Datei home.htm erstellt und nur folgenden Code eingefügt:
PHP:
<?
mysql_connect("localhost","justfreaks","harry5"); 
mysql_select_db("funpic.de"); 

$sql = mysql_query("select * from ip where ip='$REMOTE_ADDR'"); 
if(mysql_num_rows($sql) < 1) { 
    $zeit = time(); 
    mysql_query("update hits set hits=hits+1"); 
    mysql_query("insert into ip (zeit, ip) values ('$zeit', '$REMOTE_ADDR')"); 
} 

$del = $zeit - 86400; 
mysql_query("delete from ip where zeit < $del"); 

$sql = mysql_query("select * from hits"); 
$row = mysql_fetch_array($sql); 
echo $row["hits"]; 
?>

Ich erhalte aber beim Aufrufen der Datei folgende Fehlermeldungen:
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/justfreaks/home.htm on line 6

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/justfreaks/home.htm on line 16

MfG

Marco


PS: Der Pfad der Datei heisst: "http//justfreaks.funpic.de/home.htm/"
 
Zuletzt bearbeitet:
supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/justfreaks/home.htm on line 6
Das heisst im Klartext, dass dein MySQL-Query fehlerhaft ist. Existiert die Datei ip? Ich würde ggf. mal versuchen, vor und nach dem Gleichheitszeichen ein Leerzeichen zu setzen, also so:
PHP:
$sql = mysql_query("select * from ip where ip='$REMOTE_ADDR'");
Alternativ könntest du (da es sich bei der IP um einen String handelt) es mal so probieren:
PHP:
$sql = mysql_query("select * from ip where ip like '$REMOTE_ADDR'");
PS: Gewöhn dir lieber an, MySQL-Anweisungen gross zu schreiben - ist übersichtlicher. ;)
 
Ups... sorry, das sollte natürlich Tabelle heissen. :-( Mir ist aber gerade noch was eingefallen: Möglicherweise (sehr wahrscheinlich) ist die Einstellung register_globals auf deinem Server deaktiviert. Dann müsstest du den Code wie folgt anpassen:
PHP:
$sql = mysql_query("select * from ip where ip like '" . $_SERVER['REMOTE_ADDR'] . "'");
 
Das klappt leider auch nicht..

Bei 2 Sachen bin ich mir noch unsicher:

Meine Datei (home.htm) hat wirklich nur den folgenden Code, ist es nicht nötig eine Html-Datei zu erstellen (also mit Head-tags usw..)?
PHP:
<? 
mysql_connect("localhost","justfreaks","harry5"); 
mysql_select_db("funpic.de"); 

$sql = mysql_query("select * from ip where ip like '" . $_SERVER['REMOTE_ADDR'] . "'"); 
if(mysql_num_rows($sql) < 1) { 
    $zeit = time(); 
    mysql_query("update hits set hits=hits+1"); 
    mysql_query("insert into ip (zeit, ip) values ('$zeit', '$REMOTE_ADDR')"); 
} 

$del = $zeit - 86400; 
mysql_query("delete from ip where zeit < $del"); 

$sql = mysql_query("select * from hits"); 
$row = mysql_fetch_array($sql); 
echo $row["hits"]; 
?>
2. Hab ich die Server-Info's, also Username, Passwort richtig angepasst, oder musste ich das überhaupt nicht? Hab mir nälich gedacht ist logisch und habs dann angepasst, weiß aber nciht obs richtig ist.


MfG

Marco



EDIT: Ahh, es klappt! *freu* Der Fehler war wahrscheinlich einfach nur, das der Name der Datanbank falsch war. Es musste
PHP:
mysql_select_db("justfreaks");
heißen.


DANKE FÜR ALLES.

Falls doch noch Probleme auftreten werd ich mich wieder melden :p
 
Zuletzt bearbeitet:
Zurück