Also ma wieder nen problem ich habe nen Counter erstellt und fast zum Laufen gebracht, wenn da net noch dieses kleine Problem währe.
Also hier erstma das skript:
wen ich da aber nun starten will dann kommt immer folgende Meldung: Es ist ein Fehler aufgetreten, möglicherweise ist die Tabelle nicht angelegt.
der Link auch nochma: http://andi89.dyndns.org/apex/Counter/counter.php
danke im Voraus Dennis
Also hier erstma das skript:
PHP-Code:
<?PHP
// In dem Ersten Bereich kann das Script an eigene Bedürfnisse Angepasst werden
// Allgemeine Einstellungen
$grafik_counter = 1 ; // 1=>Grafikcounter, 0=>Textcounter
$font_size = "4" ; // Fontgrösse
$text_color = "#000000" ; // Textfarbe (zb. #000000 für schwarz)
$back_color = "#FFFFFF" ; // Hintergrundfarbe (zb. #FFFFFF für weiss) ! nur bei grafik_counter = 1 !
$showuser=1; // Total Counter Anzeigen ( 1=>Sichtbar / 0=>Unsichtbar )
$showgestern=1; // Gestern gesammt User Anzeigen ( 1=>Sichtbar / 0=>Unsichtbar )
$showheute=1; // Heute User Anzeigen ( 1=>Sichtbar / 0=>Unsichtbar )
$showtrend=1; // Trend Anzeige im Vergleich zu Gestern gleicher Zeit ! ( 1=>Sichtbar / 0=>Unsichtbar )
$showonline=1; // User Online Anzeigen ( 1=>Sichtbar / 0=>Unsichtbar )
$onlinetime=3; // Online Zeit in Minuten
$reload=24*60; // Reload Sperre in Minuten ( 24*60 => 24Stunden )
$startwert=0; // Hier können Sie den Startwert einstellen. Vor der installation setzen ! Oder einfach 0 lassen.
// Datenbank Einstellungen
$db_host = 'localhost'; // Datenbankserver (z.b localhost)
$db_user = 'testc'; // Benutzername
$db_pass = 'testc'; // Passwort
$db_name = 'testc'; // Datenbankname
// Beim erstem Start rufen Sie bitte das Script mit "http://www.ihrehomepage.de/counter.php?install=install" auf
// ab hier nichts mehr ändern
// ab hier nichts mehr ändern
// Variablen auslesen
while (list($key,$val)=each($_GET)) {
${$key} = $val; }
// mit der Datenbank verbinden:
$serverID = @mysql_connect($db_host, $db_user, $db_pass);
if(!$serverID) {echo "Der DB Server ist im Moment leider nicht erreichbar!"; exit;}
$datenbank = @mysql_select_db($db_name, $serverID);
if(!$datenbank) {echo "Die Datenbank wurde nicht gefunden !"; exit;}
// Installationsroutine
if ($install=="install")
{
if(!$serverID) {echo "<font color=\"#CC0000\">- Der DB Server ist leider nicht erreichbar !</font><br>"; }
else {echo "<font color=\"#00CC00\">- Der DB Server wurde erfolgreich erreicht !</font><br>";}
if (!$datenbank) {echo "<font color=\"#CC0000\">- Die Datenbank wurde nicht gefunden !</font><br>"; }
else {echo "<font color=\"#00CC00\">- Die Datenbank wurde gefunden !</font><br>";}
$anlegen = mysql_query("create table Counter (
id int(11) NOT NULL auto_increment,
ip varchar(15) NOT NULL default '',
time int(20) NOT NULL default '0',
online int(20) NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Counter by Pawlita' ");
if (!$anlegen) {echo "<font color=\"#CC0000\">- Tabelle konnte nicht angelegt werden !</font><br>";}
else {
echo "<font color=\"#00CC00\">- Tabelle wurde erfolgreich angelegt !<br>";
if ($startwert > 0)
{
mysql_query("insert into Counter (id, ip, time, online) values ('$startwert', 'Start', '$time', '$time')");
echo "<font color=\"#00CC00\">- Der Startwert wurde auf $startwert gesetzt !<br>";
}
}
exit;
}
// Initialisierung
$time=time();
$ip=$REMOTE_ADDR;
// Veraltete Einträge löschen
$anfangGestern = mktime(0, 0, 0, date(n), date(j), date(Y)) - 24*60*60 ;
$delete=mysql_query("delete from Counter where time<'$anfangGestern'");
if (!$delete) {echo"Es ist ein Fehler aufgetreten, möglicherweise ist die Tabelle nicht angelegt."; exit;}
// Reloadsperre und Onlinezeit abfragen und setzen
$oldreload = $time-$reload*60;
$gesperrt=mysql_query("select id from Counter where ip='$ip' AND time>'$oldreload' order by id desc limit 1");
if (!$gesperrt) {echo"Es ist ein Fehler aufgetreten, möglicherweise ist die Tabelle nicht angelegt."; exit;}
if (mysql_num_rows($gesperrt)==0)
{
mysql_query("insert into Counter (ip, time, online) values ('$ip', '$time', '$time')");
}
else
{
$gesperrtID=mysql_result($gesperrt,0,0);
mysql_query("update Counter set online='$time' where id='$gesperrtID'");
}
// Abfrage
if ($showuser==1)
{
// Counterstand ermitteln
$abfrage=mysql_query("select id from Counter order by id desc limit 1");
$user=mysql_result($abfrage,0,0);
mysql_free_result($abfrage);
$Userstring = "Total: $user";
}
if ($showgestern==1)
{
// gestern
$anfangTag= mktime(0, 0, 0, date(n), date(j), date(Y)) - 24*60*60 ;
$endeTag= mktime(23, 59, 59, date(n), date(j), date(Y)) - 24*60*60 ;
$abfrage=mysql_query("select count(id) from Counter where time>='$anfangTag' AND time<=$endeTag");
$gestern=mysql_result($abfrage,0,0);
mysql_free_result($abfrage);
$Gesternstring = "Gestern: $gestern";
}
if ($showheute==1)
{
// Heute
$anfangTag= mktime(0, 0, 0, date(n), date(j), date(Y)) ;
$endeTag= mktime(23, 59, 59, date(n), date(j), date(Y)) ;
$abfrage=mysql_query("select count(id) from Counter where time>='$anfangTag' AND time<=$endeTag");
$heute=mysql_result($abfrage,0,0);
mysql_free_result($abfrage);
$Heutestring = "Heute: $heute";
}
if ($showtrend==1)
{
// gestern zur gleichen Zeit
$anfangTag= mktime(0, 0, 0, date(n), date(j), date(Y)) - 24*60*60 ;
$endeTag= time() - 24*60*60 ;
$abfrage=mysql_query("select count(id) from Counter where time>='$anfangTag' AND time<=$endeTag");
$gestern=mysql_result($abfrage,0,0);
mysql_free_result($abfrage);
$trend = $heute - $gestern;
if ($trend>0)$trend = "+".$trend;
$Trendstring = "Trend: $trend";
}
if ($showonline==1)
{
// User Online ermitteln
$isonline=$time-($onlinetime*60);
$abfrage=mysql_query("select count(id) from Counter where online>='$isonline'");
$online=mysql_result($abfrage,0,0);
mysql_free_result($abfrage);
$Onlinestring = "Online: $online";
}
// Ausgabe
if ($grafik_counter == 0)
{
if ($showuser==1) $Userstring = $Userstring."<br>";
if ($showgestern==1) $Gesternstring = $Gesternstring."<br>";
if ($showheute==1) $Heutestring = $Heutestring."<br>";
if ($showtrend==1) $Trendstring = $Trendstring."<br>";
if ($showonline==1) $Onlinestring = $Onlinestring."<br>";
echo "<font size=\"$font_size\" color=\"$text_color\">".$Userstring.$Gesternstring.$Heutestring.$Trendstring.$Onlinestring."</font><font size=\"1\" color=\"$text_color\">Pawlita.de</font>";
}
else
{
// Hintergrundsfarbe umwandeln
if( eregi( "[#]?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $back_color, $bc ) )
{ $back_red = hexdec( $bc[1] ); $back_green = hexdec( $bc[2] ); $back_blue = hexdec( $bc[3] ); }
// Textfarbe umwandeln
if( eregi( "[#]?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $text_color, $tc ) )
{ $text_red = hexdec( $tc[1] ); $text_green = hexdec( $tc[2] ); $text_blue = hexdec( $tc[3] ); }
// initialisierung
$maxlen=0;
if (strlen($Userstring)>$maxlen) $maxlen = strlen($Userstring);
if (strlen($Gesternstring)>$maxlen) $maxlen = strlen($Gesternstring);
if (strlen($Heutestring)>$maxlen) $maxlen = strlen($Heutestring);
if (strlen($Trendstring)>$maxlen) $maxlen = strlen($Trendstring);
if (strlen($Onlinestring)>$maxlen) $maxlen = strlen($Onlinestring);
$width = (ImageFontWidth($font_size) * $maxlen)+4;
$zeilen = $showuser + $showgestern + $showheute + $showtrend + $showonline;
$height = ( $zeilen*ImageFontHeight($font_size) ) + ImageFontHeight(1)+2;
// Erzeuge Bild in angegebener Größe
$im = imagecreate ($width,$height) or die ("Cannot Initialize new GD image stream");
// Hintergrundfarbe
$background_color = imagecolorallocate ($im, $back_red, $back_green, $back_blue);
// Textfarbe (evtl. schwarz???)
$text_color = imagecolorallocate ($im, $text_red, $text_green, $text_blue);
// Bild zusammensetzen
$aktZeile = 0;
if ($showuser==1)
{imagestring ($im, $font_size, 2, ImageFontHeight($font_size)*$aktZeile, $Userstring, $text_color); $aktZeile++; }
if ($showgestern==1)
{imagestring ($im, $font_size, 2, ImageFontHeight($font_size)*$aktZeile, $Gesternstring, $text_color); $aktZeile++; }
if ($showheute==1)
{imagestring ($im, $font_size, 2, ImageFontHeight($font_size)*$aktZeile, $Heutestring, $text_color); $aktZeile++; }
if ($showtrend==1)
{imagestring ($im, $font_size, 2, ImageFontHeight($font_size)*$aktZeile, $Trendstring, $text_color); $aktZeile++; }
if ($showonline==1)
{imagestring ($im, $font_size, 2, ImageFontHeight($font_size)*$aktZeile, $Onlinestring, $text_color); $aktZeile++; }
imagestring ($im, 1, 2, ImageFontHeight($font_size)*$aktZeile+2,"Pawlita.de", $text_color);
// Bild erzeugen und ausgeben
header ("Content-type: image/png");
// PNG Bild erzeugen und senden
imagepng($im);
// Bild auf dem Server loeschen
imagedestroy($im);
}
?>
wen ich da aber nun starten will dann kommt immer folgende Meldung: Es ist ein Fehler aufgetreten, möglicherweise ist die Tabelle nicht angelegt.
der Link auch nochma: http://andi89.dyndns.org/apex/Counter/counter.php
danke im Voraus Dennis
Kommentar