Hallo zusammen, ich schreibe gerade ein kleinen Hack für Joomla 1.5. Dabei werden Inhalte direkt in das WBB2 gepostet.
Folgendes Problem liegt nun vor:
wbb_controller.php (meine Klasse)
- function save($boardid, $topic, $message)
Diese Funktion ist im Kopf wie folgt aufgebaut:
Nun bekomme ich beim Aufruf aber folgenden Fehler:
Fatal error: Call to a member function on a non-object in /www/htdocs/w00a4ea0/Forum/acp/lib/functions.php on line 1409
So, das ganze passiert wie folgt:
Die global.php includiert die Datei "/acp/lib/session.php" des Forums. Dort wird ein Aufruf der Funktion function getwbbuserdata getätigt. Diese Funktion steht in der Datei "functions.php" (also die Datei, die den fehler auslöst).
Die Funktion function getwbbuserdata hat ebenfalls ein "global $db, $n;" an erster Stelle. Heißt: die Variable bzw. das Objekt sollte auch in dieser Funktion zur Verfügung stehen! Wenn in dieser Funktion aber nun auf das Objekt $db zugegriffen wird, wird der Fehler zurückgeworfen.
Das seltsame ist, dass das Objekt direkt vor dem Aufruf der Funktion (in "session.php") noch vorhanden ist. Das kann man sich so vorstellen:
Würde mich über nen Denkanstoß/Hilfe freuen ...
Folgendes Problem liegt nun vor:
wbb_controller.php (meine Klasse)
- function save($boardid, $topic, $message)
Diese Funktion ist im Kopf wie folgt aufgebaut:
PHP-Code:
global $db, $n;
require($this->path_to_forum . 'global.php');
require($this->path_to_forum . 'acp/lib/class_parse.php');
require($this->path_to_forum . 'acp/lib/class_parsecode.php');
Fatal error: Call to a member function on a non-object in /www/htdocs/w00a4ea0/Forum/acp/lib/functions.php on line 1409
So, das ganze passiert wie folgt:
Die global.php includiert die Datei "/acp/lib/session.php" des Forums. Dort wird ein Aufruf der Funktion function getwbbuserdata getätigt. Diese Funktion steht in der Datei "functions.php" (also die Datei, die den fehler auslöst).
Die Funktion function getwbbuserdata hat ebenfalls ein "global $db, $n;" an erster Stelle. Heißt: die Variable bzw. das Objekt sollte auch in dieser Funktion zur Verfügung stehen! Wenn in dieser Funktion aber nun auf das Objekt $db zugegriffen wird, wird der Fehler zurückgeworfen.
Das seltsame ist, dass das Objekt direkt vor dem Aufruf der Funktion (in "session.php") noch vorhanden ist. Das kann man sich so vorstellen:
PHP-Code:
echo $db; // gibt mir im Browser 'Object' zurück
getwbbuserdata(......); // direkt drauf folgt die Funktion. In dieser Funktion habe ich keinen Zugriff mehr auf das Objekt
Kommentar