VanHellsehn
Erfahrenes Mitglied
Hi,
Ich habe mir mal die Zeit genommen nen neuen Counter zu machen.
Nur leider klappt dieser nicht.
Evtl. könnt ihr mir helfen bei der Fehler suche..
Erbricht ab aber gibt keinen Fehler geschweigenden einen Notice aus..
Hier ist mein Code:
Ich habe mir mal die Zeit genommen nen neuen Counter zu machen.
Nur leider klappt dieser nicht.
Evtl. könnt ihr mir helfen bei der Fehler suche..
Erbricht ab aber gibt keinen Fehler geschweigenden einen Notice aus..
Hier ist mein Code:
PHP:
<?php
class Counter
{
// MySql-Variablen werden initialisiert
private $host = '';
private $user = '';
private $pass = '';
private $database = '';
public function __construct($host, $user, $pass, $database)
{
// Parameter werden den Variablen übergeben
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->database = $database;
// Verbindung wird hergestellt
$connect_result = $this->connect();
if($connect_result !== true)
{
throw new Exception("<b>COUNTER:</b>".$connect_result);
}
}
public function __destruct()
{
// Datenbankverbindung schließen
$db->close();
}
private function connect()
{
// MySql-Verbindung wird aufgebaut
$db = new MySqli($this->host, $this->user, $this->pass, $this->database);
// Verbindung auf Fehler Prüfen
if(false === $db)
{
return "Fehler bei der Verbindung zu Datenbank";
}
else
{
return true;
}
}
protected function lockIp($keyword)
{
// IP Sperren
$lock_result =
$db->query("INSERT INTO `ip_locks`
(ip, timestamp, keyword)
VALUES
('".$_SERVER['REMOTE_ADDR']."','".time()."','".$keyword."')
");
// Insert auf Erfolg prüfen
if(false === $lock_result)
{
return "Fehler bei dem Sperren der IP";
}
else
{
return true;
}
}
private function unlock_oldip($locktime)
{
// Zeit bis wann die IP gesperrt ist wird errechnet
$timelife = time() - $locktime;
// IP Sperren
$lock_result =
@$db->query("DELET FROM `ip_locks`
WHERE timestamp < ".$timelife."
");
}
public function visit_counter($locktime)
{
// Alte IPs entfernen
$this->unlock_oldip($locktime);
// Prüfen ob IP noch gesperrt ist
$islock_result =
@$db->query("SELECT * FROM `ip_lock`
WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
// Ergbniss Prüfen
if($islock_result->num_rows == 0)
{
// IP sperren
$ip_lock = $this->lockIp("counterVisit");
// Prüfen ob IP gesperrt wurde
if(true !== $ip_lock)
{
throw new Exception("<b>COUNTER:</b>".$ip_lock);
}
$visit_instert =
$db->query("UPDATE `counter_level`
SET level = level+1.0
WHERE keyword = 'total'");
}
}
public function hit_counter()
{
}
public function online_counter()
{
}
}
?>