Hallo zusammen,
ich melde mich wiedereinmal... weil ich ein recht langes script geschrieben habe... Es ging eine Zeit lang, da habe ich es für mich schon fast abgeschlossen, dann wollte ich noch eine Funktion mehr einbauen und es ging nicht mehr...
Könnt ihr da einmal "kurz" reinschauen, falls ihr grad lust & Zeit habt..?
Es ist wohl irgendeine Abfrage nich richtig, denn mysql_fetch_object() verursacht einen Fehler... Aber ich bin langsam am verzweifeln, weil ich den Fehler nicht finde!
Die URL:
http://web136m.dynamic-kunden.ch/nob.../userloger.php
Die Fehler die es meldet:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web136/html/nobody08/TESTS/userloger.php on line 41
Das Script:
Gruss & Danke im voraus für JEDE Hilfe...
nobody08
Ach ja: In der Datei db_connect.php sollte kein Fehler sein, ich verbinde da mit dem mySQL-Server und habe hinten "die()" angehängt, wenn es dort einen Fehler hätte, ginge es also gar nicht weiter...
ich melde mich wiedereinmal... weil ich ein recht langes script geschrieben habe... Es ging eine Zeit lang, da habe ich es für mich schon fast abgeschlossen, dann wollte ich noch eine Funktion mehr einbauen und es ging nicht mehr...
Könnt ihr da einmal "kurz" reinschauen, falls ihr grad lust & Zeit habt..?
Es ist wohl irgendeine Abfrage nich richtig, denn mysql_fetch_object() verursacht einen Fehler... Aber ich bin langsam am verzweifeln, weil ich den Fehler nicht finde!
Die URL:
http://web136m.dynamic-kunden.ch/nob.../userloger.php
Die Fehler die es meldet:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web136/html/nobody08/TESTS/userloger.php on line 41
Das Script:
PHP-Code:
<?php
/* NOCH ZU TUN:
- evt. parameter zur function anstatt [include('db_connect.php');] (z. 13)
*/
/*
* Userloger by nobody08
* Mar 05
*/
function userstats($db_table='userstats',$max_time='50'){
// connecting :)
include('db_connect.php');
$create_table=mysql_query("CREATE TABLE IF NOT EXISTS `$db_table`
(`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`page` varchar(50) NOT NULL,
`ip` varchar(20) NOT NULL, `provider` varchar(100) NOT NULL,
`timestamp` varchar(200) NOT NULL, `counter` int(3) NOT NULL
default '0', PRIMARY KEY (`id`) , KEY `id` (`id`) ) TYPE = MYISAM ;");
// abfrage
$query="SELECT * FROM '$db_table'";
$result=mysql_query($query);
// settings
$new_ip=$_SERVER['REMOTE_ADDR'];
$new_provider=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$new_timestamp=time();
$new_page=$_SERVER['PHP_SELF'];
// alte löschen
$max_length=time()-60*60*24*$max_time; // = time() von vor $max_time Tagen
echo '$max_time >> '.$max_time;
echo '<br>$max_length >> '.$max_length;
echo '<br>'.date("[d.m.Y H:i]",$max_length);
$DELETE="DELETE FROM $db_table WHERE timestamp<'$max_length' AND page='$new_page'";
$delete=mysql_query($DELETE);
mysql_error();
// Alle-lösch-funktion (NUR VON DIESER SEITE)
$_GET['reset'];
global $reset;
if($reset){
$DELETE="DELETE FROM $db_table WHERE page = '$new_page'";
$delete=mysql_query($DELETE) or die("<br>Fehler bei der 'Alles-löschen-Funktion'");
}
// user hinzufügen
while($row=mysql_fetch_object($result)){
if($row->ip==$new_ip){
$new_timestamp=$row->timestamp.' '.$new_timestamp;
$new_counter=$row->counter;
$new_counter=$new_counter+1;
$query="UPDATE $db_table SET counter='$new_counter', timestamp='$new_timestamp' WHERE ip='$new_ip'";
$vorhanden='1';
}
}
if(!$vorhanden){$query="INSERT INTO $db_table (page,ip,provider,timestamp) VALUES
('$new_page','$new_ip','$new_provider','$new_timestamp')";}
$enter=mysql_query($query);
mysql_error();
// abfrage aktualisieren
$query="SELECT * FROM '$db_table'";
$result=mysql_query($query);
// vorhandene auslesen & ausgeben
echo "<body><br><b>Einträge</b><br>\n
<table style=\"padding: 20px 2px 20px 2px; border: 1px solid #000000;\">\n<tr>\n
<td>Datum/Zeit</td>\n <td>IP</td>\n <td>Provider</td>\n <td>h.o.</td>\n</tr>";
while($row=mysql_fetch_object($result)){
$page=$row->page;
$counter=$row->counter;
$timestamp=$row->timestamp;
if($page==$new_page){ // Dass es nur Zugriffe der aktuellen Seite anzeigt
if($counter!=='0'){
$tmp_timestamp=explode(' ',$timestamp);
for($i='0';$i<=$counter;$i++){
$timestamp=date("[d.m.Y H:i]",$tmp_timestamp[$i]);
if($i=='0'){echo "\n<tr style=\"height: 50px; border: 1px dashed black;\">\n
<td><div style=\"overflow: auto; width: 150px; height: 50px; border: #222222;\">$timestamp";}
else {echo '<br>'.$timestamp;}
}
$counter=$counter++;
echo "</div></td>\n <td>$row->ip</td>\n <td>$row->provider</td>\n <td>$counter</td>\n</tr>";
}
else {
$timestamp=date("[d.m.Y H:i]",$row->timestamp);
echo "\n<tr style=\" height: 50px; border: 1px dashed black;\">\n
<td>$timestamp</td>\n <td>$row->ip</td>\n <td>$row->provider</td>\n</tr>";
}
}
}
echo "\n</table>\n";
echo '<br><a href="'.$_SERVER['PHP_SELF'].'?reset=1">Alle Daten dieser Seite löschen!</a></body>';
} // ENDE function userstats
// AUSFÜHRUNG
userstats();
?>
nobody08
Ach ja: In der Datei db_connect.php sollte kein Fehler sein, ich verbinde da mit dem mySQL-Server und habe hinten "die()" angehängt, wenn es dort einen Fehler hätte, ginge es also gar nicht weiter...
Kommentar