phpbar.de logo

Mailinglisten-Archive

[php] Variablen per POST ohne Formular uebergeben

[php] Variablen per POST ohne Formular uebergeben

Peter Grafwallner peter.grafwallner_(at)_planet-interkom.de
Mon, 25 Sep 2000 20:01:27 +0200


hi Jungs (und Mädels),
da ich öfters vor der Aufgabe stehe, mehrere Variablen ohne Formular und
nicht per GET von der einen zur nächsten Seite zu übergeben, ohne, daß
sich dabei der Einsatz der phplib lohnen würde,  habe ich mich mal
umgeschaut und bin auf die Funktion doPost gestoßen,von der es heißt, dass
sie funktionieren müßte.
Im Archiv hab ich aber gelesen, daß schon mal ein ähnlicher Thread am laufen
war, Resultat war, daß es eigtl. gar nicht möglich sei, Variablen per POST
ohne Formular zu verschicken. Andere Leute behaupten das aber. Wie also?


 function doPost($post, $host, $action, $port = 80) {
    $fp = fsockopen( $host,  $port,  &$errno,  &$errstr);
    if(!$fp){
    /* irgendetwas stimmt nicht */
    print 'Server nicht erreichbar';
    exit;
     }
  fputs($fp,"POST $action HTTP/1.0\n".
                "Content-type: application/x-www-form-urlencoded\n".
                "Content-length: " . (strlen($post)) . "\n\n".$post."\n" );
  /*  liest HTTP Response, koennte man im Notfall auswerten */
     while(!feof($fp)) {
         $line = fgets($fp,128);
         file://print $line;
         if($line == "\n") break;
     }
     /*  liest HTTP -Body */
     $line = "";
     while(!feof($fp)) {
         $line .= fgets($fp,128);
     }
     fclose($fp);
     return $line;
     print $line;
}

ruft man die funktion mit
    $post = "test=hallo";
    doPost($post, "localhost", "scripts/testpost.php3", "80");
auf, tut sich aber nicht viel:
Das Error-Log des Apache sagt: "Invalid URI in request GET /../ HTTP/1.1".
Ich nehme mal an, dass die Funktion "im Prinzip" funktioniert und lediglich
die Syntax des HTTP-Protokoll nicht ganz eingehalten wird.
Kann mir jemand helfen weiter helfen?

thanx,
Peter




php::bar PHP Wiki   -   Listenarchive