このエントリーをはてなブックマークに追加


PHPを用いたGETとPOSTの違いとサンプル

PHP, Apacheを利用してGETとPOSTの違いを以下に説明します。
また説明に使用したサンプルコードも記します。


スポンサーリンク

前提条件

本サンプルコードを動作させるには、OS上にApacheとPHPが動作する環境を構築する必要があります。
本資料では、OSはUbuntu(Linux)を使用し以下に記す動作環境にて動作確認を行いました。

動作確認環境

  • OS
    $ lsb_release -d
    Description:    Ubuntu 12.04.4 LTS
  • Apache
    $ apache2 -v
    Server version: Apache/2.2.22 (Ubuntu)
    Server built:   Jul 12 2013 13:38:21
  • PHP $ php -v
    PHP 5.3.10-1ubuntu3.10 with Suhosin-Patch (cli) (built: Feb 28 2014 23:19:50)
    Copyright (c) 1997-2012 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

関連資料

WEB DB環境を構築するためのLAMP, LAPP環境の記事です。

GETとPOSTのHTMLとPHPスクリプト

GETとPOSTのHTMLとPHPスクリプトを以下に記します。
違いはform methodとactionの部分になります。

GETメソッド関連

ダウンロード

GETのHTMLソース

<html>
<head>
  <title>GET HTML</title>
</head>
<body>
  <form method="GET" action="get.php">
    <input type="text" name="data">
    <input type="submit" value="Submit!">
  </form>
</body>
</html>

GETのPHPスクリプト

<?php
  print($_GET['data']);
?>

GETメソッドの説明

  1. 上記HTMLとPHPスクリプトをブラウザからアクセスできる同一のディレクトリに配置してください。
  2. ブラウザを起動し以下のようにアクセスします。
    当方はApacheのドキュメントルートに配置したので以下のようになります。
    http://サーバー名(またはIP)/get.html
  3. 以下の画面が表示されるので文字を入力しSubmit!ボタンを押します。
    01.gif
     
  4. Submit!ボタンを押すと、HTMLのactionに記述されているget.phpに入力された情報が送信されます。
  5. 以下のスクリーンショットを見るとアドレスの部分が以下のようになります。
    http://サーバー名(またはIP)/get.php?data=SAKURA
    dataは input type="text" name="data" のnameの部分のdataになります。
    したがってdata=SAKURAはテキストボックスに入力された テキストボックス名=値 という感じでアドレスバーに表示されていることが確認できます。
    また?ですが、区切り文字になります。
    複数の情報をGETメソッドで送信する場合は&で区切られます。
02.gif

POSTメソッド関連

ダウンロード

POSTのHTMLソース

<html>
<head>
  <title>POST HTML</title>
</head>
<body>
  <form method="POST" action="post.php">
    <input type="text" name="data">
    <input type="submit" value="Submit!">
  </form>
</body>
</html>

POSTのPHPスクリプト

<?php
  print($_POST['data']);
?>

POSTメソッドの説明

  1. 上記HTMLとPHPスクリプトをブラウザからアクセスできる同一のディレクトリに配置してください。
  2. ブラウザを起動し以下のようにアクセスします。
    当方はApacheのドキュメントルートに配置したので以下のようになります。
    http://サーバー名(またはIP)/post.html
  3. 以下の画面が表示されるので文字を入力しSubmit!ボタンを押します。
    03.gif
     
  4. Submit!ボタンを押すと、HTMLのactionに記述されているpost.phpに入力された情報が送信されます。
  5. GETとは異なりアドレスバーの部分には何も表示されません。
    つまり送信する情報はURLに付加するのではなく、直接サーバーに送信されます。
    04.gif

以上、GETメソッドとPOSTメソッドの動作説明でした。


スポンサーリンク


添付ファイル: file04.gif 567件 [詳細] file03.gif 523件 [詳細] file02.gif 557件 [詳細] file01.gif 574件 [詳細] fileget.zip 433件 [詳細] filepost.zip 450件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:31:50