[PHP] GETとPOSTの違い

詳しいことはなにひとつわかってないのだが、PHPでは $_GET $_POST の変数を使ってフォームに入力された値 (文字列) を使うことができる。例えばこんな感じ。

<form name="form"  method="POST" action="<?php $_SERVER['PHP_SELF']?>">
    <input class="input" type = "text"  name = "id">
    <input class="submit" type="submit" value="OK !">
</form>

<?php
    echo  $_POST["id"] ;
?>

form の method を POST にすれば $_POST の配列に格納され、GET にすれば $_GET の配列に格納されるというわけ。 だから echo (print) で呼び出せばこの場合、フォームに入力された値が出力されると。

GETとPOSTの違いは以下の通り。

  1. フォーム内で明示的に宣言しない限りはGETリクエストとなる
  2. GETの場合は送信内容がURLとして渡される
  3. GETには送信できる情報量に制限がある
  4. GETでは日本語などの全角文字を送信できない
PHPスクリプト講座:GETとPOSTの違い -- そふぃのphp入門

GETの場合に送信内容がURLとして渡されるというのは、URLの最後に「?id=1234」みたいなやつ (クエリっていうらしい)がつくということ。だからフォームになにか入力してその結果のページを表示する場合は、GET にしておいたほうが結果のページのURLをコピペできるのでGETのほうが便利かも、と。

例えばこの前作った、フォト蔵の俺の画像一覧! とかの場合だと、いちいちユーザーIDと表示数をフォームに入力するのは面倒な場合、

http://tools.roku000.com/photozou_myphotolist/myphotolist.php?user_id=1&limit=15

こんな感じで出てきたURLをブックマークにでも登録しておけば、いつでもユーザーIDが1番の人の写真を15枚表示するページを再現することができるということか。

Similar Posts:

この記事へのコメント

現在、この記事へのコメントはありません。

コメントをどうぞ

この記事へのトラックバックとピンバック

  1. PHPでGET/POSTでフォームから送信された値を受け取る

TrackBack URL