Hi, Andreas,
[...] aha, danke!
Wozu dient denn eigentlich im Originalscript "return $res" - nur zum testen?
Und wie kann ich überprüfen, ob die Daten auch tatsächlich von dem externen Formular abgeschickt wurden? Eine kleine Fehlerbehandlung habe ich schon eingebaut - aber ich vermute, daß das noch nicht reicht:
function postToHost($host, $path, $referer, $data_to_send)
{
$fp=@fsockopen($host,80,$errorcode,$errortext,$timeout);
if($fp) {
fputs($fp, "POST $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Referer: $referer\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\n");
while(!feof($fp)) $res .= fgets($fp, 128);
fclose($fp);
return $res;
}
else {
return "$host: $errortext ($errorcode)\n<br>\n";
}
}
Was mich wundert ist, daß ein Absenden von Formularen auf einem fremden Server überhaupt möglich sein soll (was ich bislang noch nicht getestet habe) - das stellt doch eine Sicherheitslücke dar. Wer hindert mich z.B. daran, eine Firma mit gefaketer Post zu bombardieren, wenn ich ganz böse bin? ;-)
Grüße,
Sebastian