Externe PHP auch extern ausführen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anfrage
array
aufruf
aufrufen
auslese
benutzen
code
dank
datei
datum
domain
ergebnis
header
host
http
post
problem
server
type
url
-
Hallo Leute ich suche eine Möglichkeit eine php Datei auf der Domain xy zu öffnen und auch auszuführen, wobei ich mich auf der Domain ab befinde.
Es geht darum, das ich eine Datenbank auslesen möchte, doch das Script zum Auslesen auf xy liegt und die Datenbank sich nur von dort aus auslesen lässt (Wegen der Sicherheit).
Also suche ich eine Möglichkeit etwas wie ein iframe zu schaffen. (Damit funktioniert das Script nämlich)
Ich möchte nur kein iframe nutzen^^
Mit freundlichem Gruß
Marvin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das Java etwas anderes ist als Javascript weiß ich^^, doch habe ich die HTML, CSS, Javascript Sektion nicht gesehen.
Ich werde es mal versuchen. -
Habe bereits mit Fabo's hilfe das versucht:
window.onload = function () { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.write(xmlhttp.responseText); } } xmlhttp.open('GET', 'Domain/Datei.php', true); xmlhttp.send(); }
Funktioniert nicht -
Mach das open vor dem onreadystatechange.
Und das du da nur Domain/Datei.php stehen hast, weißt du? -
Da kommt eigentlich ...datei.php?ID=XXX
[EDIT:] So habe das Open mal vor dem onreadystatechange, aber es passiert wieder das gleiche...habe ich die Datei per fremder Domain aufgerufen kommt nichts, per eigener Domain wird alles angezeigt.
Beitrag zuletzt geändert: 30.4.2011 17:13:00 von besuchernews -
Jetzt nochmal: Du kannst mit Javascript keine externe Datei aufrufen. Das hab ich dir aber schon gefühlte 100x erklärt.
-
Er hat Recht ja.
Könntest aber per AJAX auf ein php-file innerhalb der selben Domain zugreifen welches wiederrum auf die Externe zugreift.
-
Per Javascript kann man allerdings eine PHP-Datei aufrufen.
Gäbe es eine Möglichkeit in PHP ?
[EDIT:] Das wäre mir auch recht ... das ich per Javascript eine Datei (PHP) aufrufe, welche eine weitere PHP Datei aufruft.
Beitrag zuletzt geändert: 30.4.2011 17:32:09 von besuchernews -
Lies doch einfach mal meinen Beitrag... Du kannst mit Curl, file_get_contents oder was auch immer eine externe PHP Datei mittels PHP aufrufen. Diese Datei wiederrum lässt du dann mittels Ajax aufrufen. Wenn deine Seite aber eh aus PHP und JS besteht, kannst du die PHP Anweisung auch genau so gut direkt in deine PHP-Seite integrieren und sparst dir den Ajax-Request.
-
Für alle die ein ähnliches Problem haben und nach einer Lösung suchen:
header('Content-Type:text/javascript'); $websiteinhaber=$_GET['ID']; $doc = new DOMDocument(); $doc->loadHTMLFile("http://www.DOMAIN.de/work.php?ID=$websiteinhaber"); $doc = $doc->saveHTML(); $pattern = "/<body[^>]*>(.*)<\/body>/Usi"; preg_match($pattern, $doc, $result); $body = $result[1]; echo "document.write(\"$body\");";
Der erste Teil gibt einen Html-Code aus und der zweite Teil (ab $pattern) löscht das ganze restliche, so das nur noch das zwischen den Body Tags da ist.
[EDIT:] Ach ja das ist per Javascript eingebunden, etwa so:
<script src="http://www.Domain.de/script.php?ID=1" type="text/javascript"></script>
So es funktioniert immer noch nicht :( Misst! Könnt ihr mir zufällig helfen warum!?
Die benötigten Daten werden nun alle korrekt angezeigt, doch wird der ausgelesene Code nicht sichtbar in die Html Datei, von der es aufgerufen wird angezeigt. Ich lasse alles mit echo und dokument.write ausgeben.
Beitrag zuletzt geändert: 30.4.2011 19:35:19 von besuchernews -
Wie soll es so auch funktionieren? Du bindest hier bereits fertig generiertes HTML als Javascript-Quelle ein... wie soll das gehen?
Wenn du das "Ergebnis" der externen PHP einfach anzeigen willst, gehört das irgendwo in den Body. Also dein oberer PHP-Code dahin:
<body> <!-- sonstwas --> <?php //Dein Code der die externe Seite aufruft ?> <!-- sonstwas --> </body>
Beachte aber, dass das serverseitige Aufrufen einer URL das Laden der Seite verlangsamt...
Beitrag zuletzt geändert: 30.4.2011 19:40:04 von dermaik -
Das ist mir klar Schlaumeier^^, deshalb parse ich den Code zwischen dem Body heraus.
Rufe ich die Datei, welche ich eben geschrieben habe als URL auf und nicht auf der seite als src bekomme ich folgenden code:
document.write(" <style> </style></p><div class="besuchernews"> <h3>");document.write("<a href="http://www.besuchernews.de">Besuchernews ist nun...</a>");document.write("</h3> <p>");document.write("Test ist das mit gan<a href="http://www.besuchernews.de">Mehr...</a>");document.write("</p> </div> ");
Dieser Code sollte meines Wissens nach angezeigt werden, wenn ich ihn als Javascript src einbinde.
Das ist dann auch der fertige Code, der raus kommt und angezeigt werden sollte.
Beitrag zuletzt geändert: 30.4.2011 19:42:16 von besuchernews -
Ich verstehe nicht, warum du es dir so schwer machst... Lass doch dieses Javascript Gedöns mal sein...
Zudem musst du auch die Gänsefüsschen escapen oder document.write mit Hochkomma benutzen.
Beitrag zuletzt geändert: 30.4.2011 23:02:17 von fabo -
fabo schrieb:
Ich verstehe nicht, warum du es dir so schwer machst... Lass doch dieses Javascript Gedöns mal sein...
Zudem musst du auch die Gänsefüsschen escapen oder document.write mit Hochkomma benutzen.
Und genau das meinte ich nämlich auch. Bitteschön für meine Antwort, besuchernews. Wenn's dir nicht passt einfach gar nicht erst fragen...
ontopic: Es dürfte bei dir diverse Syntaxfehler geben, weil unter anderem ein / und ein " in Javascript escaped werden muss in einem String. Du musst also im PHP-Script manuell jedes " durch \" und jedes / durch \/ usw. ersetzen.
Entschuldige bitte, falls das wieder zu schlau gemeiert ist, zukünftig werde ich es mir überlegen, zu versuchen, anderen zu helfen...
Beitrag zuletzt geändert: 1.5.2011 15:05:23 von dermaik -
fabo schrieb:
Manuell nicht ;)
$body = str_replace('"', '\'', $body);
Entschuldigung, in der Programmierung verstehe ich unter manuell, für etwas noch extra einen Befehl zu brauchen, weil etwas eben nicht von selbst geht. "seperat" hätte es also besser getroffen... -
@besuchernews
falls dein Problem noch besteht, du der Englishen Sprache einigermaßen mächtig bist und nichts gegen Video-Tutorials hast kann ich dir folgendes empfehlen
http://www.youtube.com/user/betterphp#g/c/51E57B85C0DF97A0
hier wird, zumindestens wenn ich dich Richtig verstanden habe, genau darauf eingegangen.
mfg -
Danke das ihr es weiter versucht^^
Ich habe nun per Javascript eine PHP Datei geöffnet, welche per DOMDokument meine gewünschte Arbeit erledigt.
Alle Probleme gelöst, aber trotzdem Danke. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage