dedlfix: Objekte: Löschfkt. mit vorlöschen

Beitrag lesen

Hi!

return $this->query("UPDATE HP\_Blackboard SET delete\_UserID = '".$this->getCurrentUser()."', delete\_date = '".time()."' WHERE NoteID = '".$this->id."'");
return $this->query("DELETE FROM HP\_Blackboard WHERE NoteID = '".$this->id."'");

Wie schaut es denn mit der Beachtung des Kontextwechsels aus?

if (!$this->ddate == '0') {

Ein Operator reicht: $this->ddate != '0'

!?! Und da ist das Problem, die Fkt. wird ausgeführt und das Objekt KOMISCHERWEISE neu geladen, wobei dann goDelete() bzw die Fallunterscheidung nochmal neu aufgerufen wird.

Auch wenn du "komischerweise" in Großbuchstaben schreibst, passiert das ja nicht einfach so. Es gibt eine Ursache, dass der Code mit anderen Parametern noch einmal aufgerufen wird.

Hat einer ne Idee wie ich das Lösen kann?

Zunächst musst du die Ursache finden, bevor du über eine geeignete Lösung nachdenken kannst. Und diese Ursache lässt sich dem gezeigten Ausschnitt nicht entnehmen.

Wenn sich alles innerhalb eines Requests abspielt (kontrollieren mit den Server-Logfiles), dann ist der Programmfluss irgendwo anders als angenommen. Wenn du den nicht per einfachem Lesen nachvollziehen und den Fehler finden kannst, helfen Tools wie das debug_[print_]backtrace() die Aufrufreihenfolge inklusive aller übergebenen Parameterwerte festzustellen.

Lo!