ラジオボタン・チェックボックスの値を受け取る【HTML・PHP】

選択肢を含むフォームを作る際には、ラジオボタン・チェックボックスが用いられます。

ひとつだけ選択させる場合にはラジオボタン・複数選択の場合はチェックボックスです。

今回はこれらを使ってフォームを作る方法を解説します。

ラジオボタンの場合

ラジオボタンの場合は、ひとつしか選択できないので簡単です。

type=”text”などの他の形式とほとんど同じように使えます。

nameを全て同じにしないと、選択肢とみなされないので気をつけましょう。

HTML

コード

<h2>いちばん好きな果物</h2>
<form method="post" action="sample.php">
    <input type="radio" name="fruit" value="りんご">りんご
    <input type="radio" name="fluit" value="みかん">みかん
    <input type="radio" name="fluit" value="ばなな">ばなな
    <input type="submit" value="送信">
</form>

プレビュー(仮に送信不可にしてあります)

See the Pen Untitled by masahiro nomura (@masahiroview) on CodePen.

PHP

//sample.php
<?php
    $fruit = $_POST['fruit'];
    if($fruit){
         //りんご or  みかん or ばなな、から選んだものが表示される。
         echo $fruit;
    }
?>

$_POSTで普通に取得できます。

チェックボックスの場合

チェックボックスの場合には、複数選択可能なので、ラジオボタンの場合とは少々異なります。

HTML

formのnameの末尾に”[]”をつけて配列形式にします。

コード

<h2>好きな果物(複数選択可)</h2>
<form method="post" action="sample.php">
    <input type="checkbox" name="fruits[]" value="りんご"> りんご 
    <input type="checkbox" name="fruits[]" value="みかん"> みかん 
    <input type="checkbox" name="fruits[]" value="ばなな"> ばなな
    <input type="submit" value="送信">
</form>

デモ(送信不可)

See the Pen Untitled by masahiro nomura (@masahiroview) on CodePen.

PHP

//sample.php
<?php
  //値の存在チェックと配列形式かをチェックする。
      if (isset($_POST['fruits']) && is_array($_POST['fruits'])) {
          $fruits = $_POST['fruits'];
      }
    
      foreach ($fruits as $fruit){
          echo $fruit;
      //りんご or  みかん or ばなな、から選んだものが表示される。
          echo '<br>';
      }
?>

受け取った値は配列形式なので、表示する際にはforeachを使う等する必要があります。

タイトルとURLをコピーしました