Mailinglisten-Archive |
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