Fehler: Trying to get property of non-object

jdgf

Mitglied
Hallo,

ich bekomme auf meiner Startseite die Fehlermeldung
Notice: Trying to get property of non-object in /var/www/web539/html/modules/mod_arhiva/mod_arhiva.php on line 41
; sobald ich eine andere Seite aufrufe, ist sie weg.
Die Zeilen 40-42 haben folgenden Code:
PHP:
if ($prikaz == 0) {
	$pristup = ( !$mainframe->getCfg( 'shownoauth' ) ? "\n AND access <= " . (int) $my->gid : '' );
}
Vorher wurde auch die Variable $my als unbekannt gemeldet. Deswegen habe ich zu Beginn des Scriptes
PHP:
$my="";
definert. Dadurch ist die Fehlermeldung weg.
Kann mir jemand sagen, was die Fehlermeldung bedeutet und wie das Problem zu lösen ist, da ich in php noch nicht so fit bin. Gibt es einen Link mit weiteren Infos?

Könnte es auch mit einer generellen Einstellung der Website zusammenhängen, da ich das Script auf einer anderen Seite mit demselben Code ohne Fehlermeldung verwende?

Danke für die Hilfe und
viele Grüße, Dietmar
 
Kann mir jemand sagen, was die Fehlermeldung bedeutet und wie das Problem zu lösen ist, da ich in php noch nicht so fit bin. Gibt es einen Link mit weiteren Infos?

Die Antwort hast du ;) "Trying to get property of non-object". Solche Meldungen einfach übersetzen: "Versuch auf die Eigenschaft einer Variablen zuzugreifen, die kein Objekt ist". Näheres und viele andere Meldungen gibt es hier: http://www.php-fehlermeldungen.de/topicmenu1/index1.html (Dort ist der Fehler in leicht abgewandelter Form zu finden, aber auch im Zugriff auf ein "Non-Object")

Vorher wurde auch die Variable $my als unbekannt gemeldet. Deswegen habe ich zu Beginn des Scriptes
PHP:
$my="";
definert. Dadurch ist die Fehlermeldung weg.

Welche Fehlermeldung? Die, dass $my nicht initialisiert war oder die, dass es kein Objekt ist?

Ich behaupte, dass genau dieses $my unbekannt für den Interpreten (von PHP) ist, woraus sich der o.g. Fehler ergibt. Wird $my später als Objekt deklariert?

z.B.
PHP:
$my = new Irgendwas();
 
Hallo Zod,

danke für deine Hilfe.
Ohne meine Definition von $my lautete die andere Fehlermeldung
Notice: Undefined variable: my in /var/www/web539/html/modules/mod_arhiva/mod_arhiva.php on line 41

Die Variable $my ist nur in der Zeile 41 notiert, daher ist sie wohl nicht als Objekt deklariert.

Das Script wird aber bei mir nicht abgebrochen, sondern funktioniert. In dem Beispiel müßte ich hinter $my = new..() doch etwas einfügen, das einer Klasse entspricht. Gibt es hier auch so etwas allgemeines wie $my = "";
Die Definitionen als Objekt oder Variable schließen sich doch gegenseitig aus.

Gruss, DIetmar
 
Hi,

Das Script wird aber bei mir nicht abgebrochen, sondern funktioniert. In dem Beispiel müßte ich hinter $my = new..() doch etwas einfügen, das einer Klasse entspricht. Gibt es hier auch so etwas allgemeines wie $my = "";
Die Definitionen als Objekt oder Variable schließen sich doch gegenseitig aus.

Nein, das schließt sich nicht aus. Du kannst ein Objekt in einer Variablen speichern. Es ergibt aber keinen Sinn, $my als leeren String zu definieren, wenn später im Script ein Objekt erwartet wird, das eine Eigenschaft gid hat. Wenn das ein Script ist, das du Dir irgendwo gezogen hast, solltest Du also ergründen, was das für ein Objekt ist und wo es gesetzt wird. Vielleicht hast Du irgendeinen Include vergessen?

LG
 
Hallo,
vergessen kann ich nichts haben, da das Modul bei mir über Joomla installiert wurde. Ich werde mal versuchen, mit dem Autor Verbindung aufzunehmen.
Danke für euere Hilfe, ich habe in jdem Fall dazugelernt.
Gruss Dietmar
 
Zurück