[PHP-users 30886] Re: PHP からPOSTして別ページへ飛ぶ方法を探しています
天野 潔
kiyoshi.amano @ nifty.com
2006年 12月 5日 (火) 18:30:29 JST
こんにちは。天野です。
>PHPの若葉マーク者です。みなさんに教えていただきことがあります。
>
>お聞きしたいこと:
>PHPから別URL(.php)にPOSTでデータを送信して、そのURLへジャンプしたい.(ちょうど、<form>タグ
>を使って別URLへジャンプするようなことをしたいのです)
正攻法でいけば、fsock 関数で HTTP メッセージを送ることでしょうか。
以下の要領で指定の url へポストすることができます。
送り値は $host がホスト名、$portがポート番号、$urlが指定url、$parm が
ポストデータです。
function http_post($host,$port,$url,$parm) {
$response="";
$fp = fsockopen ($host, $port, $errno, $errstr, 30);
if (!$fp) {
echo "${errno}: ${errstr}";
} else {
$len=strlen($parm);
$request = "POST ${url} HTTP/1.0\r\n";
$request .= "Content-Length: ${len}\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
$request .= "${parm}\r\n";
fputs ($fp, $request);
while (!feof($fp)) {
$response .= fgets ($fp,1024);
}
fclose ($fp);
$data = explode("\r\n\r\n", $response, 2);
header($data[0]);
echo $data[1];
}
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
天野 潔 <kiyoshi.amano @ nifty.com>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PHP-users メーリングリストの案内