AMD4Ever
Ensign
- Registriert
- Apr. 2008
- Beiträge
- 188
Hallo!
Ich benötige mal euren Rat. Ich habe eine Homepage, da funktioniert dieser Counter einwandfrei, bei einer anderen Homepage beim gleichen Hoster leider nicht. Kann mir mal einer sagen, wie ich den Fehler weg bekomme??
Vielleicht bin ich ein bisschen zu blöd.
Das ist die Fehlermeldung: Warning: mysql_query() expects parameter 1 to be string, array given in /home/www/ncXXXX/html/counter.php on line 115
Folgende Funktion: Ein User betritt die HP: Ist seine IP innerhalb Zeit X schon erfasst, wird der Counter blockiert.
Ist seine IP nicht in der DB enthalten, soll seine IP in der DB counter_id abgelegt werden, ebenso Timestamp und co. Der Der Wochenzähler counter_id und der Hauptcounter werden +1 addiert.
Einmal wöchendlich wird die counter_id beim ersten Besuch komplett geleert und sein Counter_wert wieder in die ID gelegt. Der Wochenzähler wird in die counter_stat abgelegt.
Ich benötige mal euren Rat. Ich habe eine Homepage, da funktioniert dieser Counter einwandfrei, bei einer anderen Homepage beim gleichen Hoster leider nicht. Kann mir mal einer sagen, wie ich den Fehler weg bekomme??
Vielleicht bin ich ein bisschen zu blöd.
Das ist die Fehlermeldung: Warning: mysql_query() expects parameter 1 to be string, array given in /home/www/ncXXXX/html/counter.php on line 115
Folgende Funktion: Ein User betritt die HP: Ist seine IP innerhalb Zeit X schon erfasst, wird der Counter blockiert.
Ist seine IP nicht in der DB enthalten, soll seine IP in der DB counter_id abgelegt werden, ebenso Timestamp und co. Der Der Wochenzähler counter_id und der Hauptcounter werden +1 addiert.
Einmal wöchendlich wird die counter_id beim ersten Besuch komplett geleert und sein Counter_wert wieder in die ID gelegt. Der Wochenzähler wird in die counter_stat abgelegt.
PHP:
<?php
//*** WEBSITE COUNTER ***
// User-Informationen -> IP, Datum, Uhrzeit des Besuchs
$ipguest = getenv("REMOTE_ADDR"); // IP des Besuchers
$timestamp = time(); // UNIX Timestamp
$dateguest = date("d.m.Y",$timestamp); // Datum, wann der Besucher die Seite besucht hat
$time_db = date("H:i:s",$timestamp);
$date = implode('-',array_reverse(explode('.',date("d.m.Y",$timestamp)))); //Datum von Deutsch -> ISO
$ip_block_minutes =240; // 4 Stunden (240 Minuten) ist IP gültig!
$ip_blocktime = $timestamp - ($ip_block_minutes * 60); // IP-Blockzeit berechnen
$time = date("H:i:s", $ip_blocktime); // die zur DB überprüfende Zeit umschreiben
// DB Connection
$db_server = "db6.netclusive.de"; //DB-Server
$db_user = "XXXXX"; //DB-User
$db_pwd = "XXXXXX"; //DB Password
$db_name = "usr_XXXXX_1"; //DB Name
$link = mysql_connect($db_server, $db_user, $db_pwd); //bei der SQL-DB anmelden
$select_db = mysql_select_db ($db_name, $link); //Datenbank auswählen
//FALLUNTERSCHEIDUNG IP BLOCKIEREN IP IN DB SPEICHERN
$sql_counter = mysql_query("SELECT COUNT(*) FROM counter_id WHERE IP='$ipguest' AND Time> '$time'"); // Vergleiche ob IP vorhanden ist und die Zeit >= Blockzeit ist
$sql_counter = mysql_fetch_row($sql_counter);
if($sql_counter[0]==0)
{
// NEUE ID ERSTELLEN
$sql_counter = " SELECT MAX(ID) AS ID FROM counter_id"; // höchste ID aus DB holen
$query = mysql_query($sql_counter, $link);
$data = mysql_fetch_array($query);
$ID = $data[ID];
++ $ID ;
//ID, IP $ TIMESTAMP IN DB SPEICHERN
$sql_counter = "INSERT INTO `usr_XXXXX_1`.`counter_id` (`ID`, `IP`, `Time`, `Timestamp`)
VALUES (
'$ID',
'$ipguest',
'$time_db',
'$timestamp'
)";
// COUNTER IN DB ABLEGEN
// NEUEN COUNTERWERT ERMITTELN
$sql2 = " SELECT MAX(Counter) AS Counter FROM counter"; // höchsten Counter zählen
$query2 = mysql_query($sql2, $link);
$data2 = mysql_fetch_array($query2);
$counter = $data2[Counter];
++ $counter; // Counter um 1 addieren
// COUNTER AKTUALISIEREN
$sql2 = "UPDATE `usr_XXXXX_1`.`counter` SET `Counter` = $counter, `Date` = '$date' WHERE `counter`.`ID` = 1 LIMIT 1;"; // Counter aktualisieren
};// IF-ABFRAGE ZUENDE
// COUNTERWERT AUSGEBEN
//ZUGRIFFE INSGESAMT
$sql3 = " SELECT * FROM counter WHERE ID='1'"; //Zugriffe insgesamt
$query3 = mysql_query($sql3, $link);
$data3 = mysql_fetch_array($query3);
//ZUGRIFFE HEUTE
$today=mktime(2, 0, 0, date("m") , date("d"), date("Y")); //formatiere aus heutigen Datum das Timestamp-Datum
$sql4 = "SELECT COUNT(*) FROM counter_id WHERE Timestamp > $today"; //zähle nach, wie oft das heutige Datum in Hits hinterlegt sind
$query4 = mysql_query($sql4);
list($hits_today) = mysql_fetch_row($query4);
//COUNTER-STATISTIK ANLEGEN WÖCHENTLICH MONTAG ERSTER BESUCHER
$today=mktime(2, 0, 0, date("m") , date("d"), date("Y")); //formatiere aus heutigen Datum das Timestamp-Datum
//echo $today;
//FALLUNTERSCHEIDUNG, WENN MONTAG IST
if (date("D") =='Mon'){
$sql5 = "SELECT COUNT(*) FROM counter_id WHERE Timestamp < $today"; //zähle nach, wie oft Datum der letzten Woche vorkommt
$query5 = mysql_query($sql5);
list($hits_week) = mysql_fetch_row($query5);
$hits =$data3[Counter]; // Gesamt-HITS bereitstellen
// COUNTER IN DB ABLEGEN
// NEUEN COUNTERWERT ERMITTELN
$sql6 = " SELECT MAX(ID) AS ID FROM counter_stat"; // höchsten Counter zählen
$query6 = mysql_query($sql6, $link);
$data6 = mysql_fetch_array($query6);
$ID = $data6[ID];
++ $ID; // ID um 1 addieren
// COUNTER_STATISTIK AKTUALISIEREN
// FALLUNTERSCHEIDUNG LEERE EINTRÄGE VERHINDERN
if ($hits_week >0){
// IN DB COUNTER_STAT ZEILE REINSCHREIBEN
$sql7 = "INSERT INTO `usr_XXXXX_1`.`counter_stat` (`ID`, `Date`, `Hits`, `Hits_week`) VALUES ('$ID', '$date', '$hits', '$hits_week')"; // Schreibe ID, Datum, Hits und wöchentliche Hits in DB
// ALLE WOCHENÄLTERE EINTRÄGE LÖSCHEN
$sql8 = "DELETE FROM `usr_XXXXX_1`.`counter_id` WHERE Timestamp < $today";
}; //IF-ABFRAGE ZUENDE
};//FALLUNTERSCHEIDUNG WENN MONTAG IST ZUENDE
//*** WEBSITE-COUNTER ZUENDE ***
//FEEDBACK DB
$res = mysql_query($sql_counter); if($res == true){echo "";}else{echo "";} //Feedback DB counter_id
$res = mysql_query($sql2); if($res == true){echo "";}else{echo "";} //Feedback DB counter
$res = mysql_query($sql7); if($res == true){echo "";}else{echo "";} //Feedback DB counter_stat
$res = mysql_query($sql8); if($res == true){echo "";}else{echo "";} //Feedback DB counter_stat
?>
Zuletzt bearbeitet: