AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP]"Cannot re-assign $this" - Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP]"Cannot re-assign $this" - Fehler

Ein Thema von Daniel G · begonnen am 24. Nov 2006 · letzter Beitrag vom 24. Nov 2006
Antwort Antwort
Daniel G
(Gast)

n/a Beiträge
 
#1

[PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 17:02
Hülfe.

Die Antworten über Google sind alle nicht so das wahre. Also, folgendes: Ich habe im INet einen Organizer gefunden, den man sich auf seinem Webspace installieren kann. Hat eigentlich alles, was ich brauche. Ich habe ihn mir noch etwas angepasst und um ein Login - System erweitert. (Tutorials sind was feines.. ). Na ja, wie dem auch sei..

Wie man dem Titel entnehmen kann, bekomme ich eben diese Fehlermeldung. Der Code sieht so aus:

Code:
function & getRef(&$ref) {
  return $ref;
}

if ($act=="delete") {
        $mbox =getImap();
        for ($i=0;$i<sizeof($num);$i++) {
                if (is_array($num)) $this = $num[$i]; else $this = $num; //<== Hier kommt die Fehlermeldung!
                $timetest= strstr(getRef($this),"@");
                $pos = strpos(getRef($this),"@");
                if ($pos!=0) {
                        $numr= substr(getRef($this),0,$pos);
                        $info=imap_headerinfo($mbox,$numr); }
                imap_delete($mbox,$numr); }
        imap_expunge($mbox);
        imap_close($mbox);
        if ($outbox) { Header("Location: email.php?outbox=true"); }
        else { Header("Location: email.php"); }
}
Die Funktion getRef(&$ref) habe ich auf bugs.php.net gefunden und ist ein kleines Workaround. Allerdings kann ich dieses Workaround nicht auf die obige markierte Zeile anwenden. Ich muss gestehen, meine PHP - Kentnisse dümpeln irgendwo bei "Anfänger" herum...

Wie kann ich das Problem lösen?

P.S.: Der Autor kümmert sich nicht mehr um das Projekt, deswegen seid ihr meine letzte Hoffnung...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 17:06
Also so weit ich weiß, kann man $this keinen Wert zuweisen. Innerhalb einer Klasse garantiert nicht, ob es außerhalb geht, weiß ich nicht.

Nebenbei kommt es unter PHP 4 glaub ich (oder 5, weiß ned mehr so genau) zu einigen... seltsamen Fehlern, wenn man mit Referenzen arbeitet.

Versuche einfach mal, alle Vorkommnisse von $this durch irgendwas anderes zu ersetzen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 17:08
Klar - in Delphi würdest du dir auch ans Hirn langen, wenn jemand versucht, self zuzuweisen... du musst also immer über getref arbeiten. das sollte auch oben so gehen.

im übrigen kann ich nur 3of8 zustimmen und sagen: gaaaanz böser hack...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#4

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 17:12
Zitat von DGL-luke:
du musst also immer über getref arbeiten. das sollte auch oben so gehen.
Aber nicht in der markierten Zeile. Sonst hätte ich ja nicht gepostet.

Soweit ich weiß, sollte das unter PHP 4 noch wunderbar funktioniert haben. In PHP 5 geht das nicht mehr.

In einem Forum habe ich das hier gefunden:

Zitat:
Cannot re-assign $this

Das ist das klassische "Die Anwendung wurde für php/4 geschrieben, Du benutzt aber php/5" Problem.

Abhilfe: auf php/4 zurücksteigen.
Super, kann ich meinem Hoster ja vorschlagen...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 17:16
Wie gesagt: Nimm nicht $this, sondern was anderes und versuch mal, irgendwie dieses Referenzengefummel zu vermeiden...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#6

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 18:13
Hm, hab' deinen Vorschlag in die Tat umgesetzt, 0815, jetzt funktioniert's. Danke dir.

Stellt sich die Frage: Warum hat der Autor "$this" genommen?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [PHP]"Cannot re-assign $this" - Fehler

  Alt 24. Nov 2006, 18:19
Ist doch offensichtlich: Um arme User zu ärgern.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz