Fehler bei PHP Datei mit Klasse

orben

Mitglied
Ich bin gerade dabei ein Browsergame zu basteln und wollte dazu eine Karte mit vielen Feldern bauen. Diese Karte bzw. die Felder sollen von einer PHP Datei und einer Datenbank erstellt werden.
Ich habe dazu eine Klasse verwendet.

Quelltext der Datei:

PHP:
<?

$i = 1;


class Feld {

var $ID;
var $Kontinent;
var $Land;
var $Gebiet;
var $Name;
var $Typ;
var $Besitzer;
var $Rohstoffe;
var $Bebauung;

function Feld() {

	$this->$ID = 0;
	$this->$Kontinent = 0;
	$this->$Land = 0;
	$this->$Gebiet = 0;
   	$this->$Name = 0;
   	$this->$Typ = "kein";
	$this->$Besitzer = "kein";
	$this->$Rohstoffe = 10000;
	$this->$Bebauung = "kein";
	}

function ausgabe() {

				echo $this->$ID.", ".$this->$Kontinent.", ".$this->$Land.", ".$this->$Gebiet.", ".$this->$Name.", 							 ".$this->$Typ.", ".$this->$Besitzer.", ".$this->$Rohstoffe.", ".$this->$Bebauung;

				}

function connect() {

 				$host = "localhost";
				$user = "*******";
				$pass = "*******";
				$database = "***********";
				@mysql_connect($host, $user, $pass) OR die(mysql_error());
   				mysql_select_db($database) OR die(mysql_error());
					}


function upload($id2) {


				$sql = "SELECT ID, Kontinent, Land, Gebiet, Name, Typ, Besitzer, Rohstoffe, Bebauung FROM Felder 								 Where ID = '$id2'";
    			$result = mysql_query($sql) OR die(mysql_error());


   				while($row = mysql_fetch_assoc($result)) {

				$this->$ID = $row['ID'];
				$this->$Kontinent = $row['Kontinent'];
				$this->$Land = $row['Land'];
				$this->$Gebiet = $row['Gebiet'];
   				$this->$Name = $row['Name'];
   				$this->$Typ = $row['Typ'];
				$this->$Besitzer = $row['Besitzer'];
				$this->$Rohstoffe = $row['Rohstoffe'];
				$this->$Bebauung = $row['Bebauung'];

				
														}

					}


function erstellen() {

				echo("<html>". $this->$ID.", ".$this->$Kontinent.", ".$this->$Land.", ".$this->$Gebiet.", ". 								  $this->$Name.", ".$this->$Typ.", ".$this->$Besitzer.", ".$this->$Rohstoffe.
					 ", ".$this->$Bebauung."</html>");
				     }
}





while($i < 5) {



			$control = new Feld;

			$control->ausgabe();
			$control->connect();
			$control->upload($i);
			$control->erstellen();

			echo("<br><br>");

			$i++;

			 }
?>


Die Datenbank enthält einfach die Felder ID, Name, Gebiet, Land.............

Jetzt zum Fehler. Wenn ich die Datei Aufrufe erhalte ich

kein, kein, kein, kein, kein, kein, kein, kein, keinkein, kein, kein, kein, kein, kein, kein, kein, kein
kein, kein, kein, kein, kein, kein, kein, kein, keinkein, kein, kein, kein, kein, kein, kein, kein, kein
kein, kein, kein, kein, kein, kein, kein, kein, keinkein, kein, kein, kein, kein, kein, kein, kein, kein
kein, kein, kein, kein, kein, kein, kein, kein, keinkein, kein, kein, kein, kein, kein, kein, kein, kein

Was mich sehr verwundert ist, dass selbst dieser Datenmüll ausgegeben wird wenn die KLasse noch nicht einmal zur Datenbank connectet hat(siehe Funktion ausgabe()).

Wäre freundlich wenn ihr mir helfen könntet, vieleicht habe ich ja auch einen grundsätzlichen Fehler in der Klassenprogammierung in PHP gemacht.
 
Nimm das "$" Zeichen im Konstruktor und der Methoden
beim Verweis raus.
Richtig wäre: "$this->foo='Wert'".
 
Stimmt er benutzt ja var in der Klasse.... :)

Naja aber schaden tuts nicht sich mal anzuschauen was PHP da so mit sich bringt....vor allem wenn er ein Browsergame schreiben will ist OOP mit PHP 5 der richtige Weg.

MFG Niels
 
Zurück