FORMULAR POST erzeugen

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

  • FORMULAR POST erzeugen

    Hallo zusammen,

    ich habe ein HTML-Script bekommen, welches ein Formular per POST verschickt, auswertet und ein Ergebnis zurückliefert.
    Nachdem Abschicken kommt so eine htaccess-Loginbox und nach Eingabe der Logindaten wird das Script ausgewertet und das Ergebnis im Browser angezeigt.
    PHP-Code:
    <form action="https://www.server.com" method="POST">
    <
    textarea style="width:640px; height:480px;" name="xml_data"></textarea>
    <
    input type="submit">
    </
    form
    wenn ich nun ein XML-Dokument in die Textarea einfüge, wird das verarbeitet, und das richtige Ergebnis kommt zurück.

    Wie kann ich das ganze per PHP ausführen ?
    Per curl und fsockopen habe ich das bereits versucht, aber da kommt nur
    Bad Request (Invalid URL)


    PHP-Code:
    // $file enthält den XML-Code, der manuell im Formular gepostet, funktioniert
    $kennung base64_encode("tuser:tpass");
    $data "";
    $fp fsockopen("ssl://www.server.com",443,$errstr,$errno);

    if(!
    $fp)
    {
        die();
    }
    else
    {
        
    fputs($fp"POST  HTTP/1.1\r\n");
        
    fputs($fp"Host: www.server.com\r\n");
        
    fputs($fp"Authorization: Basic ".$kennung." \r\n");
        
    fputs($fp"Content-length: "strlen($file) ."\r\n");
        
    fputs($fp"Content-type: text/xml\r\n");
        
    fputs($fp"Connection: close\r\n\r\n");
        
    fputs($fp$file);
    }
    while(!
    feof($fp))
    {
        
    $fget fgets($fp128);
        
    $data .= $fget;
    }
    fclose($fp);
    $xml_arr explode("\r\n\r\n",$data);
    echo 
    $xml_arr[1]; 
    Leider erreiche ich von den Heinis niemand, und es wäre cool, wenn jemand ne idee hat, wie das geht ?

    Gruß jogi

  • #2
    häng das xml-document doch einfach per upload an das formular an
    und dann per simplexml verarbeiten!

    Kommentar


    • #3
      häng das xml-document doch einfach per upload an das formular an
      und dann per simplexml verarbeiten!
      Wie soll das gehen ?
      Die Verarbeitung mache ja nicht ich, und ich hab da auch kein Einfluß drauf.

      Kommentar


      • #4
        woher soll ich das denn wissen das du das nciht verarbeitest...

        dann mußt eben die hochgeladene datei einlesen und per fsocketopen übertragen...

        Kommentar


        • #5
          dann mußt eben die hochgeladene datei einlesen und per fsocketopen übertragen...
          genau das habe ich ja versucht.
          Das steht doch im ersten posting von mir.

          Kommentar


          • #6
            na bei dem oben genannten, weiß der Server ja auch nicht, wo denn die einzelnen Felder sind..
            Wie sieht denn dein Curl ansatz aus? Damit sollte es eigentlich relativ schnell machbar sein, falls es da dann auch nicht funktionieren sollte, dann schau dir den request mal genauer an, bspw mit dem Firefox
            Zuletzt geändert von krel; 09.12.2008, 12:47.

            Kommentar


            • #7
              Mein CURL Ansatz sieht so aus:
              PHP-Code:
              $kennung base64_encode("tuser:tpass");
              $data $file;
              $headers 
              array(
                  
              "Authorization: Basic " $kennung
              );
              echo 
              $data;
              $ch curl_init();
              curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
              curl_setopt($chCURLOPT_URL,"https://www.server.com");
              curl_setopt($chCURLOPT_RETURNTRANSFER1);
              curl_setopt($chCURLOPT_HTTPHEADER$headers);
              curl_setopt($chCURLOPT_POST1);
              curl_setopt($chCURLOPT_POSTFIELDS$data);

              $respdata curl_exec($ch);
              if (
              curl_errno($ch)) 
              {
                  print 
              "Error: " curl_error($ch);

              else 
              {
                  
              curl_close($ch);
                  echo 
              "<pre>";
                  echo 
              $respdata;
                  echo 
              "</pre>";

              Kommentar


              • #8
                da sagst du dem Server immer noch nicht welches Feld da ist bzw sein sollte..
                PHP-Code:
                $data "xml_data=".$file 

                Kommentar


                • #9
                  jetzt kommt:
                  Bad Request (Invalid URL)
                  aber die URL stimmt.

                  Kommentar

                  Lädt...
                  X