« 2005年02月09日 | メイン | 2005年02月18日 »

2005年02月10日

データをPOSTで送信

値を他のページに渡す場合 GET と POST の2つの通信方式がある。
GETは、アドレスに追記して渡すほうほうで、たとえば abc.php?a=b などとなる。
POSTは、この値を隠蔽して渡す方式で、掲示板などで良く使われている。書き込みの投稿がそれにある。
POSTのもう一つのメリットとしては、文字列の長さの制限をあまり考えないでよいことだ。
非常に長いデータを渡す場合、GETでは文字数オーバーとなるので、POSTで渡さなければならない。

他のページを読み込む場合、標準関数ではGETとなる。
しかし、セキュリティーやその他の関係上でPOSTでデータを渡して読みこまなければならないこともある。
その場合は、拡張ライブラリ pear に含まれる HTTP_Request 関数を使うことになる。
pearについては、http://php.webmeister-jp.com/archives/2005/02/_pear.php であつかっている。

HTTP_RequestでPOST送信する方法は以下となる。

$req =&new HTTP_Request("http://www.***.com/abc.php");
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData("name1", $data1);
$req->addPostData("name2", $data2);
if (!PEAR::isError($req->sendRequest())) {
$res = $req->getResponseBody();
} else {
$res = "送信失敗";
}

上記の場合、 name1=$data1、name2=$data2 としてhttp://www.***.com/abc.php へPOST送信される。
$resには結果(ページ内容)が格納される。

投稿者 Nori : 00:35 | コメント (0) | トラックバック

| ウェブマイスタートップ | ホームページの作り方 | スタイルシート入門 | PHP Tips | PHP配布 | 掲示板 | ブログ | ショッピング | リンク集 | 支援ウェブアプリ |

全ページへのリンク自由です。好きなページへ自由にリンクしてください。 © 2003 - 2008 ウェブマイスター