Ankündigung

Einklappen
Keine Ankündigung bisher.

Übergeben von Variablen an in PHP eingebundenes Perl-Script

Einklappen

Neue Werbung 2019

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

  • Übergeben von Variablen an in PHP eingebundenes Perl-Script

    Hallo,

    ich bin z.Z. dabei die Webseite eines Bekannten, der sich als Webprovider betätigt, neu zu gestalten. Dabei stehe ich im Augenblick vor dem Problem der Integration eines Perl-Scriptes (für einen Domaincheck und anschließender Bestellung) in meine PHP-Scripte.
    Grundsätzlich habe ich es mit dem Tipp dieses Threads http://www.phpfriend.de/forum/ftopic16463-s10.html zwar eingebaut bekommen, aber es funktioniert nicht so wie es soll.
    D.h. es erscheint nach dem Absenden des ersten Formulars nicht das nächste , sondern wieder das erste. Das deutet für mich darauf hin, dass das Perl-Script nicht die mit Post übergebenen Variablen erhält, weil sich danach eigentlich entscheidet welcher Teil des Scriptes ausgeführt wird und welches Template ausgegeben wird.
    Ich hab' mir auch mal 'n Testscript gebastelt, um zu schauen, ob nach dem Absenden des Formulars, welches das Perl-Script liefert, auch Variablen per Post übergeben werden.
    Code:
    <?php
    function showArray($array) {
    
      echo '<pre>';
    
      print_r($array);
    
      echo '</pre>';
    
    }
    
    function getbody($t)
    {
       $preg = "=<body[^>]*>(.*)</body>=siU";
       return (preg_match_all($preg,$t,$res)) ? $res[1][0] : $t;
    }
    
    $ausgabe = file_get_contents('http://www.designxxl24.de/cgi-bin/kb_whois.cgi');
    		                         echo getbody($ausgabe);
    								 
    if(isset($_POST))
    {
    showArray($_POST);
    }								 
    								 
    ?>
    Mit dem Ergebnis das die Variablen ausgegeben wurden (also zumindest im PHP-Script ankamen).
    Meine Testseite mit dem noch nicht funktionierenden Script liegt unter http://www.designxxl24.de/index.php?section=webhosting und eine funktionierende Variante (der Frame der alten Seite) unter http://www.domainheaven.de/cgi-bin/kb/kb_whois.cgi

    Ich hoffe ich hab' mich einigermaßen verständlich ausgedrückt.
    Meine Frage ist im Prinzip, wie übergebe ich die Eingaben bzw. Variablen vom PHP-Script zum Perl-Script?
    Vielen Dank schonmal.

  • #2
    Hallo shredder01,

    zunächst ein Herzliches Willkommen bei uns!

    Meine Frage ist im Prinzip, wie übergebe ich die Eingaben bzw. Variablen vom PHP-Script zum Perl-Script?
    Ich würde hier eine Art Webservice bauen. Das bedeutet, dass dein PHP-Script gegen dein Perl-Script, das über HTTP erreichbar ist, postet und die Ergebnisse als XML zurückgegeben werden. Dieses kannst du dann per simplexml oder dergleichen verarbeiten und deine GUI zusammenbauen. Details zu Perl und XML-Verarbeitung musst du im Manual nachsehen, hier gibt es aber sicher auch ein Modul.

    Request und Response kannst du in PHP entweder lowlevel mit fsockopen() oder beispielsweise mit der curl-Bibliothek umsetzen.

    Kommentar


    • #3
      Danke erstmal für die Antwort.
      Das sagt mir zwar fast alles im Moment noch nichts, aber ich werd' mich mal in der Richtung schlau machen.
      Auf alle Fälle scheint wohl meine Annahme richtig zu sein, das file_get_contents, was ich verwendet hab', nicht einfach so von sich aus die Variablen mit übergibt (warum sollte es auch, sagt ihm ja keiner :wink: ).
      Immerhin fsockopen hab' ich schonmal bei meiner selbstgestrickten Whois-Abfrage eingesetzt .
      So langsam frage ich mich aber, ob das wirklich der schnellere Weg für mich ist, den Fremdkörper Perl-Script einzubinden statt einen Versuch zu starten das Perl-Script in PHP nachzubauen. Den Teil der Whois-Abfrage hab ich ja schon, fehlt "bloß" noch das angehängte Bestellsystem. Hm, nun ja.
      Das Problem ist vor allem, dass das Perl-Script nicht von mir ist (es ist ein fertiges Script, welches mein Bekannter schon seit Jahren verwendet) und ich bei dem Umfang des Ganzen (Script aufgeteilt auf eine ganze Latte von Dateien) auch befürchte das nix mehr geht, wen ich darin was verändere. Vor allem da Perl eigentlich völliges Neuland für mich ist (mit PHP arbeite ich zumindest schon ca. ein Jahr).
      Na mal schauen.
      Vielen Dank für's erste.

      Kommentar


      • #4
        Hallo shredder01,

        So langsam frage ich mich aber, ob das wirklich der schnellere Weg für mich ist, den Fremdkörper Perl-Script einzubinden statt einen Versuch zu starten das Perl-Script in PHP nachzubauen.
        Aus Software-Design-Sicht macht das durchaus Sinn. Jedoch nur dann, wenn deine Software so sauber gekapselt ist, dass man das einfach als weitere Datenquelle einhängen kann. Da du dich in der Richtung sicher noch nicht mit Softwaredesign beschäftigt hast ist es jedoch u.U. einfacher, die Funktion selbst zu schreiben und in deine Skripten einzufügen, da du die Applikation dann sicher einfacher debuggen und warten kannst.

        Kommentar

        Lädt...
        X