HTMLのPOST、GETを解説[例を交えながら]

PHP プログラミング

皆さんはこんにちは!ソウシ(@gomasio2018)と申します。

今回は、アンケートフォームやコンタクトフォームで使う「POST」、「GET」について解説していきます。

という訳でラインナップはこちら↓

・ POST、GETとは?

  ・ POST

  ・ GET

・ POST、GETの使い分け

  ・ POSTを使えば良い理由

・ POSTを使った仕組み

・まとめ

POST、GETとは?

POSTとGETとは、 フォームに入力されたデータを、送信する手段です。

<!--POSTメソッドの書き方-->
<form action="" method="post">

<!--GETメソッドの書き方-->
<form action="" method="get">

そして、この2つのメソッドは「リクエストメソッド」と呼ばれています。

簡単に解説するとこんな感じです。次はもう少し深掘りしていきます。

POST

POSTは、「リクエストボディ」と呼ばれる HTTPリクエストを構成する部品に入力データを格納して送信されます。

GET

GETは、URLにクエリ文字列を付加して送信されます。

「クエリ文字列」という言葉が出てきましたが、クエリ文字列とは、URLの後に付加されるデータのことを「クエリ文字列」と呼びます。

クエリ文字列の例は下の赤い部分

例:http://example.jp/index.php?name=john

POST、GETの使い分け

ここまでで、色々説明してきましたが、

結局「postとget、どちらを使えばええねん!」

と思う方は多くおられると思います。

結論を言いますと、特別なパターンを除いてPOSTを使えば大丈夫です。

その、理由を説明していきます。

POSTを使えば良い理由

POSTとGETを比べてみてGETの悪い点。

①GETは、URLの最後に追加されるのでURLとして送信できるデータしか送れない。

②最大データ量がURLとして処理できる範囲に制限されるため、POSTより少ないデータしか送信できない。

③画像ファイルは送信できない。

④入力されたデータが漏洩する恐れがある。

と結構多くデメリットがあります。なので、基本的にPOSTで送信しましょう。

POST、GETを使った仕組み

では、実際にPOSTを使った仕組みを紹介していきます。

コード

今回のお題は、「車を何台持っているのかをアンケート」していきたいと思います。

まずはコードを書いていきます。

<!--略-->
<title>車を何台持っていますか?</title>
</head>
<body>
<form action="" method="post">
<dl>
<dt>車を何台持っていますか?</dt>
<dd>
<label>
<select name="car">
  <option value="0">0台</option>
  <option value="1">1台</option>
  <option value="2">2台</option>
  <option value="3">3台</option>
</select>
</label>
</dd>
</dl>
<input type="submit" name="submit" value="送信">
</form>
</body>
</html>

という感じのコードを書いていきます。

POSTは、「formタグ」の「method」に記述します

こうすることで、データの送信が行われます。

実演動画

上の動画はコードを実際に動かしてみました。

台数を選択して、送信を押すと、台数のデータが「POST」によって送信されます。

今回は、送り先を選択していないので、どこにもデータが送られていません。

次回にでも、「PHP」を使って送り先を作って、データを受け取る仕組みを解説します。

データを受け取る仕組みも「POST」と「GET」に似たようなものなので、簡単です!

✔︎postとgetを受け取る仕組み【追記】

上記で紹介した、postとセットで使われる$_POSTを紹介します。この2つを学んで初めて、データの送受信を学んだといえるので、是非目を通してみて下さい!

まとめ

今回は、POSTとGETに、ついて記事を書きました。

POSTとGETはデータを送信する基本的なことなので、必ずマスターしましょう。

人気記事プログラミングスクールである「TECH::EXPERT」が素晴らしくオススメな理由[あの有名人も絶賛!]