Rolf B: ich habe der Code geschrieben wie du sagst , aber bekomme nichts...

Beitrag lesen

Hallo liebewinter,

entschuldige, es war spät als ich $this->mella() geschrieben habe. Das war nicht ganz richtig.

Ich möchte erklären, was da passiert.

mella() ist eine Funktion in einem Objekt. Solche Funktionen heißen Methode, und können nicht einfach so aufgerufen werden. Du musst PHP immer sagen, in welchem Objekt sie aufzurufen ist.

ClassProveContakt3 ist eine Klasse. Eine Klasse ist so etwas wie ein Stempel für Objekte. Mit der Programmzeile

$ProveContackt = new ClassProveContakt3();

erzeugst Du ein neues Objekt für die Klasse, und speicherst es in der Variablen $ProveContackt.

Das Objekt hat jetzt alle Variablen und Methoden, die in der Klasse programmiert sind. Mit dem Pfeil -> greifst Du darauf zu. Es ist aber ein Unterschied, ob Du das IN der Klasse machst, oder außerhalb.

Deswegen hast Du $ProveContackt->GetPostData() geschrieben. An der Stelle warst Du außerhalb der Klasse, und Du hast damit die GetPostData() Methode für ein bestimmtes Objekt aufgerufen.

In der GetPostData Funktion hast Du aber $this->Name geschrieben. $this ist etwas Besonderes und kann nur in Klassen verwendet werden. Es bedeutet: Das Objekt, für das die Methode aufgerufen wurde.

WO Du mella() aufrufen willst, das musst Du eigentlich selbst wissen. Wo ist denn der richtige Punkt dafür, um das Speichern der Datei auszulösen? Von wo rufst Du denn PostOk() auf? An der Stelle bist Du wieder außerhalb der Klasse, und darum ist $this->mella() falsch. Es gibt an dieser Stelle gar kein $this. Deswegen musst Du $ProveContackt->mella() aufrufen.

Deine Frage mit dem Troll habe ich nicht verstanden. Aber es ist auch sehr schwierig, Dir hier zu helfen. Ich kann dir erklären, wie bestimmte Dinge funktionieren. Und wenn Du etwas zeigst, das nicht funktioniert, kann ich dir sagen wo ein Fehler ist. Aber programmieren musst Du selbst. Wir können Dir nicht alles schreiben.

Rolf

--
sumpsi - posui - clusi