Ärger mit Variablenzuweisung in Klasse

gondor

Mitglied
Hallo!

Ich habe ein Problem mit meiner php-Klasse. Und zwar kann ich einer Variablen keinen Wert zuweisen.

Hier der Code:
Code:
class mandant
{

	var $valid_status_typ;
	
	function mandant()
	{
		
	}
	
	function validateMandantType($number_mandant_type){
		if(!validateNumber($number_mandant_type)){ 
			$this->valid_status_typ = FALSE; 
			return "*"; 
		} else { 
			$this->valid_status_typ = TRUE; 
		}
	}
}

Fehlermeldung:

Fatal error: Using $this when not in object context in ..\mandant.class.php

Wo ist der Fehler? Bin ratlos...

Danke für Hilfe,

gondor(..)
 
Direkt im Code sehe ich keinen Fehler, abgesehen davon dass nicht ersichtlich ist, wo du die Funktion validateNumber definierst. Ich vermute der Fehler befindet sich an einer anderen Stelle.
 
Wenn ich die Methode kürze (ohne die Funktion validateNumber()), also so:

Code:
function validateMandantType($number_mandant_type){
			$this->valid_status_typ = FALSE; 
}

sagt er mir:

on line 14, genau an dieser Stelle: $this->valid_status_typ = FALSE;

hmm...

gondor(..)
 
Der Aufruf kommt aus einem Formular heraus:

Code:
<tr>
	<th>Typ</th>
	<td style="font-weight:bold; color:red;"><input type="text" value="" name="mandant_data[typ]" class="edittext">&nbsp;<?=test::validateMandantType($_REQUEST['mandant_data']['typ'])?></td>
	<td></td>
</tr>

Kommen wir den Fehler näher?

gondor(..)
 
TriloByte hat gesagt.:
Ich vermute du rufst die Funktion fälschlicherweise statisch anstelle über eine Instanz auf...
Die Vermutung ist sogar richtig!
Entweder du erstellst zuerst eine Instanz und rufst dann über diese die Funktion auf oder du ersetzt das $this->valid_status_typ in deiner Klasse mit self::$valid_status_typ .

greetz
daddz
 
Zurück