Mailinglisten-Archive |
Hallo Dirk, hallo Liste, > die Zeile $this->url() liefert mir die Fehlermeldung "Object this not > found". > > Ich habe lediglich einen Ausschnitt aus loginform.ihtml (aus der phplib) > in meine > eigene Seite hineinkopiert. Die Seite fängt also mit page_open, etc. an. > > Kann die Fehlermeldung daher kommen, oder woran liegt das? Die Datei loginform.ihtml wird normalerweise durch die Funktion auth_loginform() aufgerufen. Diese Funktion ist ein Teil der Klasse Auth. Und in PHP ist die Variable $this innerhalb eines Objektes eine Referenz auf sich selbst. Da Du die Funktion vermutlich ausserhalb eines Objektes verwendest, kann PHP sie nicht finden. Damit sie das tut, muss also $objekt->url() aufgerufen werden . Konkret: die Funktion $this->url() ist in loginform.ihtml eine Referenz auf $auth->url(). Wenn also Deine Seite mit page_open(array("sess"=>..., "auth"=> geöffnet wurde, kannst Du die Funktion mit $auth->url() aufrufen. track_vars - Egon hat natürlich recht, dass das in der (deutschen) Doku steht (wer sich in der Doku so gut auskennt wie Egon erwirbt hiermit den Anspruch auf ein Lüpi, einzulösen in Lüneburg). "track_vars boolean Wenn dieser Schalter aktiviert ist, werden GET, POST und Cookie - Werte in den Umgebungsvariablen-Arrays $HTTP_GET_VARS, $HTTP_POST_VARS und $HTTP_COOKIE_VARS abgelegt." PHP importiert im Regelfalle ja alle Variablen aus diesen Variablenräumen in die globalen Variablen. Und die PHPlib unterstützt zusätzlich noch einen Session- bzw. User- Variablenraum. Und damit diese sich nicht konsequent gegenseitig überschreiben, möchte die PHPlib gerne den Schalter track_vars aktiviert haben. Verständlich, finde ich. Grüße, johann ps: ich hatte Dir als PM gemailt, weil die Liste eh schon soviel Traffic hat. Aber Du hast schon recht, vielleicht interessierts auch andere.
php::bar PHP Wiki - Listenarchive