michel gelin: $PHP_SELF = "in:/usr/bin:/bin" -> nicht "xyz.php"

Hallo zusammen,

gerade habe ich meine Page auf einen anderen Server eines neuen ISP gezügelt.
Nun bin ich daran alles anzupassen. Irgendwie scheint diese Zeile Probleme zu machen:

$backlink = "\n<br><a href="".$PHP_SELF."">Zurück</a>\n";

Das ergibt dann in HTML bei aufruf:

<br><a href="in:/usr/bin:/bin">Zurück</a>

Doch eigentlich wollte ich ja einfach zurück zu XYZ.php (aktuelles dokument).

...hatte das Problem bis anhin noch nicht. Habe schon des öftern was von php im cgi-modus oder so gehört - hat es vielleicht damit was zu tun?

Tech-Info:

Betriebssystem:   Linux
Perl Version:     5.006001
PHP Version:      4.3.1
mySQL Version:    3.23.54
register_globals: on

Habt Ihr vielleicht ne idee was mein problem ist resp. wie ich zur Lösung finde?

Gruss
michel gelin

  1. $backlink = "\n<br><a href="".$PHP_SELF."">Zurück</a>\n";

    Das ergibt dann in HTML bei aufruf:

    <br><a href="in:/usr/bin:/bin">Zurück</a>

    ...hatte das Problem bis anhin noch nicht. Habe schon des öftern was von php im cgi-modus oder so gehört - hat es vielleicht damit was zu tun?

    Möglich. Rufe phpinfo() auf; läuft PHP im Modulmodus, sollte im ersten angezeigten Block "Server API: Apache" stehen (oder der Name eines anderen Webservers), im CGI-Modus wird stattdessen irgendwas mit CGI auftauchen.

    Unter http://hoohoo.ncsa.uiuc.edu/cgi/overview.html findest Du die Spezifikation der CGI-Schnittstelle, insbesondere die Umgebungsvariablen unter http://hoohoo.ncsa.uiuc.edu/cgi/env.html dürften Dich interessieren (Anmerkung: diese Variablen existieren auch in der PHP-Modulversion).

    Wenn du auf der phpinfo()-Seite ganz an's Ende gehst, findest Du die Liste der Variablen, die Dir von PHP zur Verfügung gestellt werden. Suche dort nach einem Eintrag namens "SCRIPT_NAME".

    Gruß,
      soenk.e

    1. Hi,

      Möglich. Rufe phpinfo() auf; läuft PHP im Modulmodus, sollte im ersten angezeigten Block "Server API: Apache" stehen (oder der Name eines anderen Webservers

      Ja, so ist es Server API: Apache

      Wenn du auf der phpinfo()-Seite ganz an's Ende gehst, findest Du die Liste der Variablen, die Dir von PHP zur Verfügung gestellt werden. Suche dort nach einem Eintrag namens "SCRIPT_NAME".

      ..ja, das gibts! ...und noch einiges interssantes!

      _SERVER["SCRIPT_FILENAME"] /usr/local/xyz/htdocs/phpinfo.php
      _SERVER["SCRIPT_URI"] http://xyz.xyz.ch/phpinfo.php
      _SERVER["SCRIPT_URL"] /phpinfo.php
      _SERVER["SERVER_NAME"] xyz.xyz.ch

      Danke! Ich denke damit komme ich weiter

      Gruss

      Michel Gelin