Sönke Tesch: Variablen per $_SERVER['SERVER_NAME'] übergeben

Beitrag lesen

<FORM action="'.$_SERVER['Server_Name'].'" method="POST" name="some" target="_self">

da ich das noch nie benutzt habe ist mir zwar nicht ganz klar warum, ich habe bisher immer (in <form> ) auf das Ursprungs-Script verwiesen,
aber so scheint es zu laufen.

irgendwelche Einwände ?

Ja, das kann so nie und nimmer richtig sein, es sei denn Du hast eine ganz extrem merkwürdige Umgebung.

In server_name steht der (Haupt-) Domainname des Webservers, in Deinem Formular müsste jetzt also etwas à la '<form action="example.com">' stehen. Es würde noch am ehesten funktionieren, wenn vorne ein "http://" vorstehen würde und Dein Skript die Standarddatei für den Server (also index.php) wäre.

Soll das Formular an sich selbst geschickt werden, dann ist request_uri aus $_SERVER in aller Regel die beste Wahl, gefolgt von script_uri oder php_self. Die letzteren beiden enthalten immer denselben Wert; request_uri enthält die URI, die der Benutzer eingegeben hat, dies kann ebenfalls script_uri/php_self entsprechen, muß aber nicht.

Prüfe nochmal den HTML-Quelltext, insbesondere das <form>-Element, den Dein Browser beim ersten Aufruf des Skriptes empfängt, sowie die Daten in $_SERVER (zum Beispiel mit php_info(INFO_VARIABLES)).

Gruß,
  soenk.e