プログラミング覚え書き

WEB製作覚え書き

ノート代わりに勉強した内容をまとめています。

HTML:値の送受信 ~POST形式~

 

POST形式で値を送信

  • form要素のmethod属性値に"post"を指定した場合、submitボタンが押下されると、action属性で指定したページにPOST形式で値を送信する。
  • リクエストボディを使って送信する。
  • 情報量に制限は無いが、不当に大きなリクエストを受けないようにサーバ側でグロックしている場合もある。
  • 通常のフォームでは値がアドレス欄に表示されないPOST形式を使用する。

リクエストとレスポンス

f:id:midori_x:20200209194538p:plain

 

 

POST形式で送信した値の確認方法

f:id:midori_x:20200209194708p:plain

 

 

  <form action="02-2_post_confirm.php" method="post">
    <h2>性別は?</h2>
    <label><input type="radio" name="gender" value="1">男性</label>
    <label><input type="radio" name="gender" value="2">女性</label>

    <h2>年齢は?</h2>
    <select name="age">
      <option value="" selected>選択してください</option>
      <option value="1">10代</option>
      <option value="2">20代</option>
      <option value="3">30代</option>
      <option value="4">40代</option>
      <option value="5">50代以上</option>
    </select>

    <p>
      <input type="submit" value="投票する">
    </p>
  </form>

 ↓ ↓ ↓

f:id:midori_x:20200209195036p:plain

上記の通り選択し、「投票する」を押下

 ↓ ↓ ↓
「02-2_post_confirm.phpにアクセスし、下記の表示となる

【画面表示】

 

f:id:midori_x:20200209195349p:plain

02-2_post_confirm.phpソースコード

  <?php
    echo '<h2>1回目の出力</h2>';
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';

    echo '<h2>2回目の出力</h2>';
    echo $_POST['gender'];

    echo '<h2>3回目の出力</h2>';
    if(isset($_POST['gender'])){
      echo $_POST['gender'];
    } else {
      echo '性別を選択していません';
    }
  ?>
  <p>
    <a href="02-1_post_form.html">フォームに戻る</a>
  </p>

 

 

 

POST形式で受け取った値

GET形式に準ずる

https://midori-x.hatenadiary.jp/entry/2020/02/09/192655

 

未入力時のメッセージ

GET形式に準ずる

https://midori-x.hatenadiary.jp/entry/2020/02/09/192655