dedlfix: Parameterübergabe funktioniert Webserverübergreifend nicht

Beitrag lesen

echo $begrüßung;

[...] wird eine Variable mit dem Link übergeben.

Das ist keine Variable, das ist nur ein Parameter. Aus diesem Parameter macht das empfangende PHP einen Eintrag in den üblichen Arrays. Erst jetzt ist es eine Variable.

Auf dem zentralen Server als Test funktioniert diese Variante prima. Nun wollte ich das Ganze live schalten und siehe da: die Variable ist plötzlich leer.

Es hat wohl eher der empfangende Server keine Variable angelegt, so wie du das erwartet hast. Ist das error_reporting auf E_ALL gestellt und display_errors eingeschaltet? Du bekommst damit genauere Angaben bei Zugriffen auf nicht vorhandene Dinge.

include("http://www.server.de/test.php");

Damit erzeugst du, sofern allow_url_fopen aktiviert ist, einen HTTP-Request an den Server. Dieser führt ihn aus (inklusive Abarbeiten des PHP-Scripts) und liefert das Ergebnis zurück. Danach ist kein PHP-Code mehr vorhanden, wenn du nicht explizit welchen in die Ausgabe von test.php schreibst. Ohne PHP-Code ist dem include der Sinn verlorengegangen. Es reicht dann ein file_get_contents() oder readfile(), je nach gewünschtem Ergebnis.

http://www.server.de/test.php?boxID=12345 liefert ein Ergebnis.
http://www.liveserver.de/test.php?boxID=12345 liefert kein Ergebnis.

Gehören dir diese beiden Domainnamen? Wenn nicht, nimm doch bitte deine eigenen oder die speziell für Beispiele vorgesehenen Namen.

Was mache ich falsch oder kann man die Parameterübergabe von einem anderen Server im

Apache/Webserver verbieten?

Wie greifst du am Ziel auf die Parameter zu? Hast du nachgesehen, was am Ziel ankommt? phpinfo() oder Kontrollausgaben der üblichen Verdächtigen ($_GET) können hilfreich sein.

echo "$verabschiedung $name";