PHP  WEBアプリケーション作成⑤ GETメソッド、POSTメソッド 

データーのやりとりには2種類があります。

URLに埋め込むGETメソッド・・・・少量のデータ送信に向いている

HTMLフォームを使って送信するPOSTメソッド・・・大量のデータ送信に向いている

GETメソッドでのリクエストと受け取り

まずは練習してみましょう。次のようなプログラムをget.phpファイル名でhtdocsフォルダ内、すなわちドキュメントルート(公開フォルダ)に保存します。

公開フォルダ、htdocsフォルダ内に保存
get.phpファイル

getメソッドでは、URLの末尾に「?」を付け、「パラメータ名=値」という形式でデータを付与します。

ブラウザから入力してアクセス
上記のようにURLに付与した値が表示されていればOK

しかし、URLには文字制限があるので、大量のデータは送信できません。また、URLにはパラメータを含めるので、送ったデータを隠すこともできません。このようなことから、個人を特定しない簡単なデータのやりとりに向いています。

POSTメソッド

POSTはHTMLフォームを使って送信し、大量データの送信するのに適しているのでしたね。それではまずHTMLフォームを作って準備してみましょう。

このようなフォームを作ってみます。

送信側HTML (form.html)

<!DOCTYPE html>
<html lang=”ja”>
<head>
    <meta charset=”UTF-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
    <title>Document</title>
</head>
<body>
    <h1>アンケートフォーム</h1>
<form action=”post.php” method=”post”>
   
form挟まれた内容を送信。actionには送信先のURLを、methodにはgetかpostを入力。
<p>名前:<input type=”text” name=“name“></p>

<p>性別:<input type=”radio” name=”gender” value=”man”>男  
          <input type=”radio” name=”gender” value=”woman”>女
    </p> 

<p>評価:
 <select name=”star“> 
            <option value=”1″>💛</option>
            <option value=”2″>💛💛</option>
            <option value=”3″>💛💛💛</option>
            <option value=”4″>💛💛💛💛</option>
            <option value=”5″>💛💛💛💛💛</option>
    </select>
</p>

<p>意見</p>
<p><textarea name=”other“></textarea></p>
 
<input type=”submit” value=”送信”> 
</form>
</body>
</html>





typeがtextだと1行のテキストボックスに。name属性の値が送信後のキー名になり、内容が$_post変数に格納されます。

typeがradioだと複数の選択肢から1つだけを選ぶことになります。name属性を与えることで同じグループの選択肢となる。value属性が送信される値になります。

name属性がデータを送信後のキー名となる。変数の値には、選択されたoptionのvalue属性が格納される。














複数行入力できるテキストエリアを作る。name属性の値が送信後のキー名になる。


typeがsubmitだと送信ボタンになる。valueの値がボタンの上に書かれる文字になる。ボタンが押されるとformタグのaction属性に指定されたURLにデータを送信します。




受信側のプログラム (post.php) 及びHTML

<?php
 $name = $_POST[‘name’];

名前
$gender = $_POST[‘gender’];
 if($gender == “man”){
    $gender = “男性”;
 }else if ($gender == “woman”){
    $gender == “女性”;
 }
性別
$tmp_star = $_POST[‘star’];
 $star = ”;
 for ($i = 0; $i < $tmp_star; $i++){
    $star .=’💛’;
 }
評価
$star = ‘ ‘;は画面へ出力するための文字列。
$star .=’💛’;で送信された評価の数だけ追加
$other = $_POST[‘other’];
?>
ご意見
<!DOCTYPE html>
ここからHTML
<html>
    <head>
        <meta charset=”UTF-8″>
        <title>アンケート結果</title>
    </head>
    <body>
        <h1>アンケート結果</h1>
        <p>お名前:<?php echo $name; ?></p>
        <p>性別:<?php echo $gender; ?></p>
        <p>評価:<?php echo $star; ?></p>
        <p>ご意見:<?php echo nl2br($other); ?></p>
    </body>
</html>
変数に代入された内容を表示する

プログラムを書き終えたら、form.htmlファイルがある場所へアクセスします。

この内容で送信ボタンをクリックすると・・・・

post.phpファイルへ送られ、内容が表示されています。

PHPについて

この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。


短期間でのレベルアップにはプロから学ぶのもあり。

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。

就職・転職支援