Ich zeige erstmal die Dateien und den Code, dann komm ich auf mein Problemchen:
Nix besonderes... in der Config stehene ein paar Definitionen. shoutbox.class.php:
Hier werden die Dateien zur klasse ACP und shoutbox includiert.
ACP.class.php:
Hier noch schnell die DB-Klasse aus der MySQLDatabase.class.php:
in der shoutbox.class.php (nicht die selbe von oben):
In der letzten Klasse (shoutbox) soll die gesamte Shoutbox gemanagt werden. Dafür brauche ich aber Zugriff auf die DB-Klasse (auch noch auf ein paar andere, aber das erledigt sich dann ja eh von selbst, hoffe ich ).
Momentan verstehe ich einige Zusammenhänge noch nicht und mache zum Teil auch noch blöde Fehler... Hoffe ihr könnt mir da ein wenig helfen.
PHP:
require_once("./lib/_config.php");
require_once(CLASS_DIR."shoutbox.class.php");
Nix besonderes... in der Config stehene ein paar Definitionen. shoutbox.class.php:
PHP:
// init acp
require_once(LIB_DIR."ACP.class.php");
// init shoutbox
// require_once(LIB_DIR."modules/".$area.".class.php");
// create classes
$shoutbox = new shoutbox();
Hier werden die Dateien zur klasse ACP und shoutbox includiert.
ACP.class.php:
PHP:
// imports
if (!defined('NO_IMPORTS')) {
require_once(LIB_DIR."database/MySQLDatabase.class.php");
require_once(LIB_DIR."system/functions.class.php");
require_once(LIB_DIR."modules/".$area.".class.php");
}
class ACP {
public function __construct() {
// initialization
$this->initDB();
$this->initMsg();
$this->initFunc();
$this->initSessions();
$this->initCookies();
$this->initTpl();
}
public function __call($name, $args) {
echo "You called for ".$name.", which does not exist. \n";
exit;
}
public function initDB() {
require_once(LIB_DIR."db.inc.php");
$this->$db = new db($sqlhost, $sqluser, $sqlpassword, $sqldb, $phpversion);
}
// blablabla usw.
Hier noch schnell die DB-Klasse aus der MySQLDatabase.class.php:
PHP:
class db {
protected $link_id = 0;
protected $query_id = 0;
protected $record = array();
protected $errdesc = '';
protected $errno = 0;
protected $show_error = 1;
protected $server;
protected $user;
protected $password;
protected $database;
protected $use_unbuffered_query = false;
public function __construct($server, $user, &$password, $database, $phpversion) {
$this->server = $server;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$password = '';
$this->connect();
$this->password = '';
}
public function connect() {
$this->link_id = @mysql_connect($this->server, $this->user, $this->password);
if (!$this->link_id) $this->error("Link-ID == false, connect failed");
if ($this->database != '') $this->select_db($this->database);
}
public function select_db($database = '') {
if ($database != '') $this->database = $database;
if (!@mysql_select_db($this->database, $this->link_id)) $this->error("cannot use database ".$this->database);
}
public function query($query_string, $limit = 0, $offset = 0, $showerror = 1) {
if ($limit != 0) $query_string .= " LIMIT $offset, $limit";
$this->query_id = mysql_query($query_string, $this->link_id);
if ($showerror == 1 && !$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
in der shoutbox.class.php (nicht die selbe von oben):
PHP:
class shoutbox extends ACP {
public function __construct() {
$this->makeSomething();
}
public function makeSomething() {
// zugriff auf die methoden aus der klasse ACP?
}
}
In der letzten Klasse (shoutbox) soll die gesamte Shoutbox gemanagt werden. Dafür brauche ich aber Zugriff auf die DB-Klasse (auch noch auf ein paar andere, aber das erledigt sich dann ja eh von selbst, hoffe ich ).
Momentan verstehe ich einige Zusammenhänge noch nicht und mache zum Teil auch noch blöde Fehler... Hoffe ihr könnt mir da ein wenig helfen.
Zuletzt bearbeitet: