Hallo zusammen,
leider ist PHP für mich noch neu - deswegen habe ich hoffentlich eine Anfängerfrage
Ich möchte auf meiner Seite Daten an ein fremdes Formular übergeben.
Wenn ich das Formular folgendermaßen nachbaue funtionierts:
echo '<FORM ACTION=http://www.externeseite.de/cgi-bin/action_offer.cgi METHOD=POST';
echo '<INPUT TYPE=SUBMIT VALUE="Katalog ergänzen">';
echo '<INPUT TYPE=HIDDEN NAME=FROMPREVIEW VALUE=1>';
echo '<INPUT TYPE=hidden NAME="DAYS" VALUE="'.$tage.'">';
echo '<INPUT TYPE=hidden NAME="TITLE" VALUE="'.$name.'">';
echo '<INPUT TYPE=hidden NAME="PASSWORD" VALUE="'.$pass.'">';
echo '<INPUT TYPE=hidden NAME="IMAGE" VALUE="'.$url.'">';
echo '<INPUT TYPE=hidden NAME="MAINCATEGORY" VALUE="'.$hauptkat.'">';
echo '<INPUT TYPE=hidden NAME="action" VALUE="cd_new"> ';
Ich würde die Daten aber gerne ohne Formular übertragen! Nach ein wenig googeln habe ich das folgende (ich nehme an wohlbekannte) script gefunden und versucht damit das Formular auf meiner Seite zu ersetzen.
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
printf("Go!\n");
$x = PostToHost(
"www.externeseite.de",
"/cgi-bin/action_offer.cgi",
'http://www.externeseite.de/cgi-bin/action_offer.cgi',
$data
);
Leider funktionierts nicht - ich weiß nicht genau, wie ich die Variabeln für die Übertragung genau aufbereiten soll also $data definieren muss!
Vielleicht weiß jemand mehr?
mick
leider ist PHP für mich noch neu - deswegen habe ich hoffentlich eine Anfängerfrage
Ich möchte auf meiner Seite Daten an ein fremdes Formular übergeben.
Wenn ich das Formular folgendermaßen nachbaue funtionierts:
echo '<FORM ACTION=http://www.externeseite.de/cgi-bin/action_offer.cgi METHOD=POST';
echo '<INPUT TYPE=SUBMIT VALUE="Katalog ergänzen">';
echo '<INPUT TYPE=HIDDEN NAME=FROMPREVIEW VALUE=1>';
echo '<INPUT TYPE=hidden NAME="DAYS" VALUE="'.$tage.'">';
echo '<INPUT TYPE=hidden NAME="TITLE" VALUE="'.$name.'">';
echo '<INPUT TYPE=hidden NAME="PASSWORD" VALUE="'.$pass.'">';
echo '<INPUT TYPE=hidden NAME="IMAGE" VALUE="'.$url.'">';
echo '<INPUT TYPE=hidden NAME="MAINCATEGORY" VALUE="'.$hauptkat.'">';
echo '<INPUT TYPE=hidden NAME="action" VALUE="cd_new"> ';
Ich würde die Daten aber gerne ohne Formular übertragen! Nach ein wenig googeln habe ich das folgende (ich nehme an wohlbekannte) script gefunden und versucht damit das Formular auf meiner Seite zu ersetzen.
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
printf("Go!\n");
$x = PostToHost(
"www.externeseite.de",
"/cgi-bin/action_offer.cgi",
'http://www.externeseite.de/cgi-bin/action_offer.cgi',
$data
);
Leider funktionierts nicht - ich weiß nicht genau, wie ich die Variabeln für die Übertragung genau aufbereiten soll also $data definieren muss!
Vielleicht weiß jemand mehr?
mick
Kommentar