【PHP初心者】GETとPOSTの違いとは?使い方も紹介

PHPでサーバーとやり取りする場合、GETメソッド・POSTメソッドが必須となります。参考書でもGET・POSTは必ず出てきます。検索機能やお問い合わせフォームでもGETメソッド・POSTメソッドが使われています。

目次

GETとPOSTとは?

皆さんはGoogleやyahooなどでURLを検索をすると、そのサイトが表示されますよね?

ブラウザで検索するとパソコンやスマホとサーバーでは、リクエストとレスポンスと呼ばれる処理が行われています。リクエストは要求、レスポンスは応答とも呼ばれます。

この記事を読んでいるあなた(クライアント)がGoogleで「test.com」と入力するとします。
このとき、クライアントはサーバーにリクエストしていることになります。

このリクエストに対してサーバーはURL(今回の場合、test.com)からデータを取得し、クライアントの画面に出力しています。このとき、サーバーはクライアントにレスポンスしていることになります。

GETとPOSTの違い

GETメソッドの特徴

  • URLにパラメーターが付く
  • URLの長さに制限があるため、画像データは送れない
  • 個人情報を扱う場合使ってはいけない

Googleなどで検索したとき、?や&を含んだ長いURLが表示されると思います。GETメソッドを使った場合、パラメーターがURLの後ろに付きます。パラメーターは「パラメーター=データ」という形で付きます。複数のパラメーターがあった場合、&で区切られます。

GETメソッドには最大文字数が2,048 文字と決まっています。そのため画像データなど長いデータは送ることができません。テキストデータのみ送ることができます。

またURLにパラメーターが付くため、個人情報やクレジット情報などを扱う場合はGETメソッドは使いません。お問い合わせフォームなどを作る場合は次に紹介するPOSTメソッドを使います。

検索結果の取得やネット通販の商品個別ページでGETメソッドが使われます。

POSTメソッドの特徴

  • URLにパラメーターが付かない
  • 文字制限がない

POSTメソッドを使うとURLにパラメーターが付きません。なので、個人情報を送るときにPOSTメソッドを使います。

またPOSTメソッドには文字数制限がありません。長い文字列も送ることができます。

お問い合わせフォームやログイン機能でPOSTメソッドが使われます。

GETメソッドの使い方

<form action="test.php" method="GET">
<input type="text" name="test">
<input type="submit" value="送信">
</form>

action属性にはtest.phpを入れています。action属性には送信したいページ先を書きます。送信がクリックされると、action属性で指定したページにデータが送信される仕組みです。

method属性にはGETと入力しておきます。name属性にはtestを入力しています。

$_GET['test'];

$_GET[‘name属性’];と書くことによって、データを受け取ることができます。

POSTメソッドの使い方

<form action="test.php" method="POST">
<input type="text" name="test">
<input type="submit" value="送信">
</form>

GETメソッドと使い方はほとんど同じです。違う点と言えばmethod属性にPOSTを入力している点です。

$_POST['test'];

$_POST[‘name属性’];と書くことによって、データを受け取ることができます。

お問い合わせフォームを作ってみよう

GETメソッド・POSTメソッドを使ってお問い合わせフォームを作ってみましょう。

PHPでお問い合わせフォームを作る方法をこちらで紹介しています。

あわせて読みたい
【初心者向け】PHPを使って1時間でお問い合わせフォームを作る方法 今までのレッスンの集大成としてPHPでお問い合わせフォームを作っていきます。わからない部分があれば、いままでに学習したことを復習してください。 レッスン一覧 【お...
よかったらシェアしてね!

この記事を書いた人

コメント

コメントする

目次
閉じる