PHP Problem mit Objekten in PHP

KingLecter

Cadet 4th Year
Registriert
Okt. 2008
Beiträge
68
Hallo Leute,

ich versuche gerade mir etwas PHP anzueignen. Leider habe ich Probleme, wenn ich mit Objekten arbeiten will. Es geht um Formulare. Hier mal der vereinfachte Quellcode:

PHP:
class fehlerspeicher{	
		var $ary = array();
	
		function fehler(){
			Hier werden Felder geprüft. Falls Fehler, dann Feldname in Array.
		}
		
		function istFehlhaft(){
			return count($ary);			
		}		
}

$fehlerObj = new fehlerspeicher;
$fehlerObj->fehler();
if(isset($_GET['abschicken']) and $fehlerObj->istFehlerhaft()<1){
    ausgabe();      //hier wird etwas ausgegeben
}
else{
   //das Formular anzeigen
}

Jetzt zum Problem. Wenn ich die Funktion fehler() aufrufe, werden ganz normal die Namen der fehlerhaften Felder ins Array $ary eingefügt. Das Array ist größer 0, das habe ich durch echo-Ausgaben in der Funktion geprüft. Wenn ich jedoch danach die Funktion istFehlerhaft() aufrufe kommt immer 0 raus, obwohl eigentlich etwas im Array stehen müsste.
Kann mir bitte jemand bei dem Problem weiterhelfen.

Vielen Dank im Voraus!
 
istFehlerhaft() suggieriert mit einen Boolean Wert (true/false), nicht aber, dass ich die Anzahl zurück bekomme.

In Methoden musst du mit $this->ary arbeiten.
 
Yuuri schrieb:
istFehlerhaft() suggieriert mit einen Boolean Wert (true/false), nicht aber, dass ich die Anzahl zurück bekomme.

In Methoden musst du mit $this->ary arbeiten.

Danke für deine Antwort. istFehlerhaft() sollte ursprünglich auch boolean-Werte zurückgeben, da ich aber ausschließen wollte, dass dort der Fehler liegt, habe ich einfach die Arraygröße zurückgegeben (wird auch später wieder geändert).
$this->ary ist des Rätsels Lösung. Vielen Dank.

An mcflash: Der Codeausschnitt ist stark gekürzt und vereinfacht. Ich wollte keine 500 Zeilen Code hier reinkopieren. Auch dir vielen Dank für das Tutorial.
 
Zurück
Oben