Kommunikation JS -> PHP und PHP -> JS

Da Hacker

Erfahrenes Mitglied
Sehr geehrte Tutorials.de-Community,

vielleicht wissen schon einige aus meinem anderen Thread, dass ich dabei bin PHP zu lernen.

Jetzt hab ich da ein relativ großes, Denk-Problem, das ich gerne gelöst hätte:

Die Sache ist die. Ich hab zwei Webspaces - schön und gut. Der eine Webspace reagiert allerdings äußerst allergisch auf PHP-Scripts, nennen wir ihn mal "Piranho" ;) . Der andere dagegen überhaupt nicht, bringt aber den Nachteil von Werbung auf, dieser wird von uns "Ohost" genannt.

Jetzt hab ich eine Seite bei Piranho, mit der ich gerne die IP des Users abfragen möchte und diese in einer Alert-Box ausgeben möchte(Das alles nur zum Beispiel, keine Sorge! Ich möchte meine Besucher nicht nerven ;) ). Und bekanntlich kann man die IP nur per PHP abfragen. Deshalb habe ich jetzt - auch nur zum Beispiel ein PHP-Script "MeineIP.php" bei Ohost liegen. Nun meine Frage:

(Schematisierte Ansicht: )
Wie kann Javascript bei dem PHP-Script 'anklopfen' und ihm mitteilen: "Hey, führ mal dein Script aus und teile mir die Variable '$REMOTE_ADDR' bitte als String mit!".

Okay, ich könnte nun folgendes machen:
Ich könnte mittels "document.location = 'http://ohost.oh.de/MeineIP.php';"(oder so ähnlich, bin mir nicht mehr sicher) im Javascript auf die PHP-Seite verweisen und diese dann aufrufen. Die IP wird angezeigt und ich bin glücklich - VORERST! Denn: Wie kommt mein Besucher wieder zurück auf meine Seite? Ich will ja schließlich die IP auf meiner Seite anzeigen lassen.

Was ich natürlich noch machen könnte ist direkt die Seite auf Ohost zu hosten. Allerdings möchte ich gerne die Werbung umgehen!

Wie läuft jetzt also die Kommunikation zwischen den beiden Scriptsprachen Javascript und PHP? Wie werden Daten übertragen, wenn nur eine Seite PHP unterstützt? Ist es überhaupt möglich dieses Vorhaben zu realisieren?

Ich bin sicher nicht die Koryphäe in PHP und Javascript, aber ich komme mit Sicherheit auch mit kurzen Beschreibungen zurecht.

Viel unnötiges, aber nur, damit ihr euch ein bischen in mich reinversetzen könnt. Ich wäre euch wirklich dankbar, wenn ihr mir hier helfen könntet. Die foreninterne Suche habe ich bereits benutzt, hab aber nichts zu meinem Thema finden können.

THX:
Da' Hacker

Keywords:
Datenübertragung, Werte abfragen, übermitteln, Script aufrufen
 
Damit wirst du leider keinen großen Erfolg haben. Man kann zwar mit JavaScript HTTP-Abfragen starten (Stichwort AJAX), allerdings nicht über Sitegrenzen hinweg. Das würde sich dann Cross-Site-Scripting nennen und Tür und Tor für allerhand bedenkliche Spielereien öffnen.

Wenn es dir nur darum geht, die IP-Adresse des Besuchers anzeigen zu lassen, könntest du die Ausgabe eines entsprechendes Skripts auch via iframe in deine Seite einbinden.
 
Falls JavaScript erlaubt, dass auch andere Websiten als die aktuell besuchte abgeholt werden koennen, dann duerfte das Stichwort AJAX Deinem Problem eine Loesung bieten koennen.
Zu Details kann ich Dir aber nichts sagen, da ich selbst so gut wie garkein JavaScript nutze und schon garnicht mit AJAX gearbeitet hab.
Aber ich denke hier im Forum und auf einschlaegigen Webseiten wird es hinreichend Beispiele geben. Und es wird sich sicher auch hier noch der ein oder andere zu Wort melden.

Och Matthias, jetzt hab ich das alles so schoen getippt und da kommst Du daher und sorgst dafuer, dass das alles fuer die Katz war. Haettest Du damit nicht 5 Minuten warten koennen. ;)
 
Es ist halb so kompliziert, wie man denkt.

Auf dem PHP-fähigen Server das PHP-Skript:
PHP:
<?php 
header('Content-Type:text/javascript');
echo 'alert("'.$_SERVER['REMOTE_ADDR'].'");';
?>

Auf dem anderen Server dann nur noch das Skript wie üblich einbinden :)

Oder...was auch ohne JS funktioniert: Erstelle per PHP ein Bild, welches die IP enthält, und binde dies Bild ein.
 
Hallo!

Ein riesengroßes Danke, an die Admins und Mods Matthias Reitinger, Dennis Wronka und Sven Mintel!!

Schade, dass es fast nicht möglich zu sein scheint.

Zu "AJAX":
Hmm, noch nie gehört/gelesen. Ich werds mir in ein paar Stunden, in der Arbeit, mal über Yahoo ansehen. Bin gespannt, was das ist.... :D
Danke

Zum Codeabschnitt:
Alles klar. Das PHP-Script wird in ein paar Stunden erstellt. Hmm, verdammt. Jetzt hab ich geschrieben, dass ich mit kurzen Beschreibungen zurecht komme, aber ich weiß gar nicht, wie ich das ganze jetzt einbinden soll. Naja, ich mach einfach "document.location = http://Server.de/PHPScriptvonSvenMintel.php". Mal sehen ob es klappt. :)

Zum I-Frame:
Ouuuu, klar! Diese Lösung gibts ja auch noch! :)
Ein Glück lässt es Javascript zu diesen I-Frame ein- und auszublenden.

@Dennis Wronka: Hehe, dein Beitrag war sicher nicht für die Katz! :) Umso besser, wenn zwei Lösungen übereinstimmen. Das steigert meine Neugier auf dieses "AJAX" noch mehr. :rtfm:

//EDIT: Ups, da fällt mir ein(zum Codeabschnitt), ich verlinke hierbei ja auf den Server mit der Werbung - das will ich ja gar nicht. Hmm, ich werd mir das nochmal genauer in der Arbeit ansehen.
Stimmt, mit PHP kann man ja ein Bild erstellen - werd ich aber nochmal abchecken müssen! Sehr gute Idee! Danke auch dafür! :)

Ciao:
Da' Hacker
 
Da Hacker hat gesagt.:
//EDIT: Ups, da fällt mir ein(zum Codeabschnitt), ich verlinke hierbei ja auf den Server mit der Werbung - das will ich ja gar nicht. Hmm, ich werd mir das nochmal genauer in der Arbeit ansehen.

Nicht verlinken-->einbinden ;)

Code:
<script type="text/javascript" src="http://www.andererserver.de/javascript.php"></script>
 
Hallo Sven Mintel,

uff, sorry! -.-
Wenn ich es so mache, wie du es beschrieben hast, dann klappt es wunderbar!

Siehe hier, wer seine IP wissen möchte ;) :
Bitte mir folgen!

Das hat mich bereits dazu gebracht mehr über das Thema erfahren zu wollen. Vielleicht kann ich ja auch irgendwie die Datenübertragung mit Variablen hinbekommen, ohne dieses "AJAX" zu benutzen, dass mich übrigens schon bei Wikipedia abgeschreckt hat. Scheint doch etwas komplexer zu sein - ich werde aber trotzdem am Ball bleiben!

Somit wäre das Thema vorerst erledigt. Danke, an alle, die mir geholfen haben!

THX vielmals:
Da' Hacker
 
Das hat mich bereits dazu gebracht mehr über das Thema erfahren zu wollen. Vielleicht kann ich ja auch irgendwie die Datenübertragung mit Variablen hinbekommen, ohne dieses "AJAX" zu benutzen, dass mich übrigens schon bei Wikipedia abgeschreckt hat. Scheint doch etwas komplexer zu sein - ich werde aber trotzdem am Ball bleiben!
Nicht wirklich - die Wikipedia tendiert nur gelegentlich dazu, die Dinge etwas kompliziert zu erklären (wie das halt bei Lexika so der Fall ist). Hier ein imo sehr gutes und verständliches Anfängertutorial (ist allerdings englisch, falls das ein Problem ist): http://www-128.ibm.com/developerworks/web/library/wa-ajaxintro1.html?ca=dgr-lnxw01MasterAJAX.
 

Neue Beiträge

Zurück