kostenloser Webspace werbefrei: lima-city


Externe PHP auch extern ausführen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du könntest (PHP) file_get_contents o.ä. benutzen, um den Aufruf zu simulieren. Mal davon abgesehen, dass Java immernoch nichts mit Javascript zu tun hat, gibt es keine Möglichkeit, mittels Javascript externe Seiten aufzurufen (ohne Iframe).

    Beitrag zuletzt geändert: 30.4.2011 16:18:03 von fabo
  4. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Das Java etwas anderes ist als Javascript weiß ich^^, doch habe ich die HTML, CSS, Javascript Sektion nicht gesehen.
    Ich werde es mal versuchen.
  5. Sieh dir mal AJAX an. ;)

    http://de.wikipedia.org/wiki/XMLHttpRequest
  6. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  7. Mach das open vor dem onreadystatechange.

    Und das du da nur Domain/Datei.php stehen hast, weißt du?
  8. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  9. Jetzt nochmal: Du kannst mit Javascript keine externe Datei aufrufen. Das hab ich dir aber schon gefühlte 100x erklärt.
  10. Er hat Recht ja.
    Könntest aber per AJAX auf ein php-file innerhalb der selben Domain zugreifen welches wiederrum auf die Externe zugreift.
  11. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  12. 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.
  13. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  14. d*****k

    Wie soll es so auch funktionieren? Du bindest hier bereits fertig generiertes HTML als Javascript-Quelle ein... wie soll das gehen? :eek:

    Wenn du das "Ergebnis" der externen PHP einfach anzeigen willst, gehört das irgendwo in den Body.:wink: 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
  15. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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
  16. 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
  17. d*****k

    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... :wink:

    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... :mad:

    Beitrag zuletzt geändert: 1.5.2011 15:05:23 von dermaik
  18. Manuell nicht ;)

    $body = str_replace('"', '\'', $body);
  19. d*****k

    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... :wall:
  20. @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
  21. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    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.
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!