include von fremden Server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • include von fremden Server

    Hallo ich habe folgendes Problem.

    Ich habe ein PHP Script in das ich ein Include einbinden will, dass auf einem fremden Server liegt. Aber irgendwie habe ich bei den Variablen-Übergaben noch so meine Denkprobleme.

    zum Hintergrund:

    Auf Domain A liegt ein Script das die aktuelle Url an das Script auf Domain B schickt.

    Auf Domain B liegt ein Script das auf eine DB zugreift und einen Wert an das Script auf Domain A übermitteln soll.

    Hier ein bisschen Code zum besseren Verständnis.

    Script auf Domain A
    ...
    PHP-Code:

    $footer_Request_URL 
    "http://".$_SERVER['HTTP_HOST']. "".getenv('REQUEST_URI'); 

    echo 
    $footer_Request_URL;

    include (
    "http://www.domain.de/db_footer.php?url=" $footer_Request_URL);

    echo 
    $DBFooter
    und auf Domain B liegt folgendes Script

    PHP-Code:
    $con=mysql_connect($mysql_hostname$mysql_user$mysql_password);
    mysql_select_db($mysql_database$con);
    // hier füllt er dann die Variable $DBFOoter mit dem 
    // Inhalt aus der DB
    $DBFooter ' <a href="http://www.domain-c.de">Test</a>'
    Ich wäre über Hilfe sehr dankbar....


    Gruß Thomas
    Spambot Falle
    Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

  • #2
    du kannst nur den quellcode einbinden, wenn server b die php datei nicht abarbeitet. ansonsten kriegst du nur das, was die ausgegeben wird, ggfs. nichts.

    wozu eigentlich so eine verdrehte architektur?

    Kommentar


    • #3
      Also wenn ich im Script B mit echo einen Wert ausgebe kommt das auf Domain A raus. Genau das brauch ich. naja nicht ganz

      $output = include ("http://www.domainb.de/db_footer.php?url=" . $footer_Request_URL);

      bräuchte ich eigentlich

      Geht so was.

      Zu deine Frage warum ich das brauche:
      Ich möchte in einer DB meine Footer Links pro Seite verwalten.

      Sprich Domain A schickt die aktuelle Seite (auf der ein Link angezeigt werden soll) an das Script auf Domain B. Auf Domain B ist die zentrale DB für alle Links und schaut nach welche Links den auf der übermittelten Seite A angezeigt werden sollen und schickt diese an Domain A zurück..

      Soviel zur Theorie :-)
      Spambot Falle
      Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

      Kommentar


      • #4
        seite auf server a:
        PHP-Code:
        $ausgabe file_get_contents("http://www.domain.de/db_footer.php?url=www.example.com");

        echo 
        $ausgabe
        seite auf server b:
        Code:
        echo '<a href="">'.$_GET['url'].'</a>';
        sowas?

        Kommentar


        • #5
          Fast :-)

          Script A auf Domain A schickt -> "www.example.com" an Script B auf Domain B

          In Script B (das ist db_footer.php)
          wird in der DB zu dem Eintrag www.example.com z.B. www.test.de ermittelt und an A weitergegeben.

          Script B macht also........
          echo '<a href="http://www.test.de">blbal</a>';
          ...

          ich brauch aber die Ausgabe von Script B in einer Variable in Script A

          Geht denn sowas ?
          $ausgabe = include ("http://www.domainB.de/db_footer.php?url=" . $footer_Request_URL);
          echo $ausgabe;
          Gibt bei mir immer 1 aus :-(
          Spambot Falle
          Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

          Kommentar


          • #6
            nein, das geht nicht. manual erklärt warum.

            Kommentar


            • #7
              Ich habe jetzt auch in Script B eine

              function tom() {
              return "blabal"
              }

              und in Script A

              include ("http://www.8tz.de/db_footer.php");
              $ausgabe = tom();
              echo $ausgabe ;

              Aber da krieg ich auch einen Fehler

              Call to undefined function: tom()


              Gibt es dafür wirklich keine Lösung ?
              Spambot Falle
              Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

              Kommentar


              • #8
                ansonsten kriegst du nur das, was die ausgegeben wird, ggfs. nichts.
                da wird nichts ausgegeben, deswegen bewirkt dein include nichts.

                kannst die datei von php in txt umbenennen, aber das ist nicht ungefährlich.

                Kommentar


                • #9
                  ICH HABE ES -> zumindest für mein Problem.

                  Script A

                  PHP-Code:
                  // TZ007 Footer DB Links
                  ob_start(); // start buffer
                  $footer_Request_URL "http://".$_SERVER['HTTP_HOST']. "".getenv('REQUEST_URI'); 
                  include (
                  "http://www.domainB.de/db_footer.php?url=" $footer_Request_URL);
                  $DBFooter ob_get_contents(); // output to a variable
                  ob_end_clean(); # end buffer
                  // End TZ007 
                  Und Domain B gibt einfach echos aus :-)

                  Auf jeden Fall - Danke für deine Hilfe !!!
                  Spambot Falle
                  Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

                  Kommentar


                  • #10
                    wozu ob? was spricht gegen file_get_contents()? dann brauchst du auch nicht zu inkludieren.

                    Kommentar


                    • #11
                      Weil ich in Scrtip B auf Domain B
                      auf die DB die zu Domain B gehört zugreifen will.

                      Also Script B soll auf Domain B ausgeführt werden.
                      Spambot Falle
                      Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

                      Kommentar


                      • #12
                        tut's doch.

                        Kommentar


                        • #13
                          Dann blick ich es nicht mehr

                          ...
                          file_get_contents() ist die bevorzugte Methode, um die Inhalte einer Datei in einen String einzulesen....

                          Ich will ja nicht den Inhalt einer Datei auslesen, sondern den Wert übergeben wieder für A zugänglich machen.
                          Das mach ich jetzt halt mit echo aus B und dem Output Buffer in A.


                          Mein Script B macht folgendes.

                          PHP-Code:
                          ####### Datenbankaufbau ######
                          $con=mysql_connect($mysql_hostname$mysql_user$mysql_password);
                          mysql_select_db($mysql_database$con);

                          $sql "SELECT id, request_url, aktuell_pr, datum, kontakt_email, 
                                      kontakt, description, link_auf, link_text, link_image, 
                                      link_title, link_von, my_zielurl, my_linktext 
                                      FROM dbfooter where request_url = " 
                          $url;
                          $result mysql_query($sql,$con);
                          if (!
                          $result) {
                              echo 
                          "Anfrage ($result) konnte nicht ausgeführt werden : " mysql_error();
                              exit;
                          }
                          while (
                          $row mysql_fetch_assoc($result)) {    
                              echo 
                          ' <a href="' $row['link_auf'] . '">'.$row['link_text'].'</a>';

                          Aufruf aus A
                          PHP-Code:
                          // TZ007 Footer DB Links
                          ob_start(); // start buffer
                          $footer_Request_URL "http://".$_SERVER['HTTP_HOST']. "".getenv('REQUEST_URI'); 
                          include (
                          "http://www.meine-domain.de/db_footer.php?url=" $footer_Request_URL);
                          $DBFooter ob_get_contents(); // output to a variable
                          ob_end_clean(); # end buffer
                          // End TZ007

                          // .... Ausgabe
                          echo "Hier meine Partner: $DBFooter "


                          Geht doch nicht mit file_get_contents(), oder steh ich neben mir ?

                          Danke dass du Gedult mit mir hast, immerhin lern ich dabei was....
                          Spambot Falle
                          Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

                          Kommentar


                          • #14
                            schau dir meine zweite antwort in diesem thread nochmal an.

                            Kommentar


                            • #15
                              Danke, das hab ich dann nicht geschnallt.
                              weil in der Doku steht das man damit eine Datei in eine Variable einliest. Ich habe gedacht er liest dann den quellcode in die Variable $ausgabe ein. Aber anscheind den Output.

                              Was schreibt man in solchen Situationen

                              Sorry, das ich dich den ganzen Abend beschäftigt habe.
                              Danke !
                              Spambot Falle
                              Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

                              Kommentar

                              Lädt...
                              X