Slayer8 Geschrieben 9. Februar 2005 Teilen Geschrieben 9. Februar 2005 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ß! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 10. Februar 2005 Autor Teilen Geschrieben 10. Februar 2005 Schade, aber sowas habe ich mir schon gedacht. Leider hat der Kunde vier verschiedene Server und will das auch so beibehalten da der Provider ein guter Freund von ihm ist... :hells: Naja, ich muss mal schauen wie ich da drumherum basteln kann... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 10. Februar 2005 Autor Teilen Geschrieben 10. Februar 2005 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.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 11. Februar 2005 Teilen Geschrieben 11. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 11. Februar 2005 Autor Teilen Geschrieben 11. Februar 2005 Da kommen wir schon zum nächsten Problem, die Fehlermeldung wird in einer Variablen gespeichert. Die Übergabe müsste also wie folgt geschehen (und das klappt leider auch nicht): include ("http://server/Datei.php?msg=$Fehlermeldung"); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 12. Februar 2005 Teilen Geschrieben 12. Februar 2005 Da kommen wir schon zum nächsten Problem, die Fehlermeldung wird in einer Variablen gespeichert. Die Übergabe müsste also wie folgt geschehen (und das klappt leider auch nicht): include ("http://server/Datei.php?msg=$Fehlermeldung"); Klappt denn der normale Aufruf per Browser? Oder gibt es dort auch Fehler? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 12. Februar 2005 Teilen Geschrieben 12. Februar 2005 wieso nicht einfach ein netzlaufwerk o.ä. mappen und dann per laufwerksbuchstaben "lokal" darauf zugreifen. Bei linu halt nen pfad mounten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.