Mailinglisten-Archive |
Am 11 Mar 99, schrieb Thomas Schulz zu "Re: [php] Redirect incl. HTTP_POST_": >>> Wie sende ich die HTTP_POST_VARS aus der originalen Anfrage mit? Bei einem Redirect wird der Browser des Benutzers aufgefordert, einen anderen URL abzufragen. Du kannst also nicht selbst Daten an diesen zweiten URL schicken, sondern der Benutzer muß das tun. Die einzige Möglichkeit ist wirklich, alles im URL zu kodieren und den Browser per GET übergeben zu lassen. Alternativ könntest Du noch alle Variablen auf Deinen Server zwischenspeichern und nur eine ID übergeben, mit deren Hilfe das zweite Script die Daten wieder ermittelt. Oder Du sparst Dir den Redirect und fragst aus dem ersten Script die zweite Seite ab und übergibst dabei alle Parameter. Die Antwort der zweiten Seite gibst Du dann in der ersten aus: function PostToHost($host, $path, $data_to_send) { $fp = fsockopen($host,80); fputs($fp, "POST $path HTTP/1.1\n"); fputs($fp, "Host: $host\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\n"); fputs($fp, "Content-length: ".strlen($data_to_send)."\n"); fputs($fp, "Connection: close\n\n"); fputs($fp, $data_to_send); while(!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } You would call this function with something like: PostToHost("www.whatever.com","/cgi-bin/whatever.cgi","abc=123&def=456"); Das Beispiel stammt von Rasmus Lerdorf (http://webdev.berber.co.il/get_example.php3?count=146). Damit kann man z.B. fremde Datenbanken pluendern, die nur POST akzeptieren und die Ergebnisse an das eigene Layout angepasst in den eigenen Seiten praesentieren. Eignet sich auch ganz gut dazu ein besseres Interface für teleauskunft.de oder einige Online-Fahrplaene zu schreiben ;) Gruß, Reiner -- reiner_(at)_kukulies.de * http://kukulies.de
php::bar PHP Wiki - Listenarchive