Zum Inhalt springen

Mit PHP/Form auf fremdes Server-Skript zugreifen


Empfohlene Beiträge

Hallo!

Ich habe folgendes Problem, Kunde hat 4 Server und denen seperate Homepages liegen.

Server A ist z.B. die deutsche Version, Server B englisch, Server C französisch...

Alle sollen jedoch auf eine Mailingliste (welche auf Server A liegt), bzw. ein Verwaltungsskript zugreifen und über dieses verfügen.

Das klappt derzeit auch recht einfach mit einem <form ... action="ServerA/list/"...> So verweise ich von allen Servern auf Server A.

Nun sind die Seiten jedoch alle mehrsprachig, darum übergebe ich bei dem o.g. Formaufruf der auf jeder Sprachversion vorkommt immer ein "language=de/en"... alos ein Kürzel für die jeweilige Sprache.

Im Verarbeitungsskript frage ich dann ab

if($language=="en"){

$Message="your adress ( $EMail ) already exists.";

} }

Somit soll gewährleistet werden das die Ausgabe in der jeweiligen Sprache, direkt vom Sprachserver erfolgt.

Nun werden im Verarbeitungsskirpt auf Server A jedoch Fehler abgefangen und sofern vorhanden an das Message-Skript des jeweiligen Servers weitergeleitet. Als Beispiel:

if($language=="en") include'http://Server B/message.php';"

Leider zeigt das inkudiert Formular jedoch keinerlei Fehlermeldungen an.

Was mache ich falsch?

Ist die Übergabe so überhaupt möglich?

Die Variable Message ist gefüllt und das klappt auch die auszugeben, nicht jedoch in dem eigentlichem Message.php Formular.

Kann mir jemand weiterhelfen?

Ich hoffe, es ist nicht zu wirr erklärt, es ist schon spät.. ;-)

Besten Dank und Gruß!

Link zu diesem Kommentar
Auf anderen Seiten teilen

if($language=="en") include'http://Server B/message.php';"

Auwei! Wenn das wirklich funktionieren würde, dann wäre das ja eine Katastrophe. Dann wäre wohl keine PHP-Anwendung vor böswilligen Angriffen mehr sicher.

Liegen die Webauftritte auf dem gleichen physikalischen Server? Falls ja, dann kannst du mittels die Datei mittels include einbinden, sofern die entsprechenden Leserechte gesetzt sind.

Wenn nicht, dann must du dir die Datei inrgendwie interaktiv besorgen. Denn mit include hast du nur Zugriff auf das interne Dateisystem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auwei! Wenn das wirklich funktionieren würde, dann wäre das ja eine Katastrophe. Dann wäre wohl keine PHP-Anwendung vor böswilligen Angriffen mehr sicher.

...

Denn mit include hast du nur Zugriff auf das interne Dateisystem.

Wenn "URL fopen wrappers" in PHP aktiviert sind (in der Standardkonfiguration ist das der Fall) können Sie als Pfad der einzubindenden Datei auch eine URL (via HTTP oder anderen unterstützen Wrappern (eine Liste der unterstützen Protokolle finden Sie unter Anhang L) statt einer lokalen Pfadangabe angeben.

http://de2.php.net/include/

Es gibt aber auch die Möglichkeit, das include auf bestimmte Ordner zu beschränken. Du solltest mal in der php.ini nachsehen ob das der Fall ist. Ansonsten sollte es kein Problem sein.

Leider zeigt das inkudiert Formular jedoch keinerlei Fehlermeldungen an.

Was mache ich falsch?

Ist die Übergabe so überhaupt möglich?

Stimmt der Variablenname im includierten Formular? Bzw. wird das Formular aus der externen Datei überhaupt angezeigt? Ansich sollte das so gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit den Url-Wrappers kann man Dateien auf anderen Servern aufrufen und diese auswerten. Allerdings ist es besonders bei PHP problematisch, da dieses ja schon von dem anderen Server geparst wird.

Du könntest allerdings eine Textdatei zurückgeben, die den Inhalt bestimmt. In der Datei kannst du für die dyn. Inhalt ja Variablen verwenden und diese dann ersetzen.

Bsp:


Hello {name},


this the {num} Newsletter this year,...

Danach lassen sich die {xxx} durch die entsprechenden Variablen ersetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Stimmt der Variablenname im includierten Formular? Bzw. wird das Formular aus der externen Datei überhaupt angezeigt? Ansich sollte das so gehen.

Der Variablenname stimmt natürlich, lediglich der Inhalt dieser wird wohl nicht an das inkludierte Formular übergeben.

Das Formular wird angezeigt, nur nicht die Nachricht, die übergeben werden soll. vor dem include-Befehl erscheint die Ausgabe, nur wenn ich ein Echo in dem inkludierten Formular mache, war's das mit der Variable....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie Enrico sagte liegt es wohl daran, dass die PHP-Datei schon durch den Parser geht, bevor sie bei dir ankommt.

D.h. du kannst aber dann auch PArameter mitgeben:

include ("http://server/Datei.php?msg=Fehlermeldung");

Falls der Zielserver die Zieldatei als PHP-Code interpretiert, können Sie an die einzubindende Datei Variablen in einem Request-String übergeben, genauso wie bei HTTP GET.

Link siehe oben

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...