PHPでラジオボタンの値を取得して送信する方法は知っていますか?
ラジオボタンの値を取得する方法は?
取得した値を送る方法は?
といったことが知りたい方に向けて、この記事では
- 【基礎】ラジオボタンの書式や属性について
- 【基礎】ラジオボタンの実装方法
- 【発展】post、getで値を送信する方法
など、PHPによるラジオボタンの実装方法の基礎から発展的な内容について解説していきます。
ラジオボタンについて
選択項目の中から一つの項目を選ばせたい時にはラジオボタンが最適です。そのラジオボタンはinputタグを用いてtype=”radio”を指定することで使用することができます。以下はラジオボタンを表示するサンプルコードです。
あなたは学生ですか?<br> <input type="radio" name="student" value="学生です">はい <input type="radio" name="student" value="学生ではありません">いいえ
name=”student”は、studentという同じ名前のラジオボタンであることを表していて、このname=”student”が指定してあるラジオボタンの選択肢の中から一つを選択することができます。
そして、選択肢が持つ値はvalue=””で指定することができます。上記のサンプルコードの場合、「はい」と「いいえ」という選択肢があり、選択肢「はい」が持つ値はvalue=”学生です”、選択肢「いいえ」が持つ値はvalue=”学生ではありません”ということになります。
ラジオボタンを実装しよう
それでは、実際にラジオボタンを実装してみましょう。
ラジオボタンの実装
早速、ラジオボタンを実装したサンプルプログラム1をお見せします。サンプルプログラム1
<form> あなたは学生ですか?<br> <input type="radio" name="student" value="学生です">はい <input type="radio" name="student" value="学生ではありません">いいえ <br> <input type="submit"> </form>
上記サンプルプログラムを見てわかる通り、ラジオボタンの値を取得・送信するためには<form>タグの中にラジオボタンを置く必要があります。
また、ラジオボタンで選択した値を送るための送信ボタンを、<input type=”submit”>で配置します。これで、ラジオボタンと値を送るための送信ボタンを実装することができました。
ラジオボタンの値を取得する方法
ただ、このままでは値を取得できず、送信ボタンを押しても変化がありません。なので、次にラジオボタンから値を取得する方法と合わせて、その値を表示する方法について解説します。
以下がサンプルプログラムです。サンプルプログラム2
<form> あなたは学生ですか?<br> <input type="radio" name="student" value="学生です">はい <input type="radio" name="student" value="学生ではありません">いいえ <br> <input type="submit"> </form> <?php $value = $_GET['student']; if ($value) { echo "私は". $value; } ?>
<form>の後ろにPHPのコードを追記しています。$_GET[‘student’]で、name=”student”のラジオボタンで選択した値を取得します。
格納されている値は、<input>タグのvalue属性で指定した値です。つまり、「はい」なら$value=”学生です”となり、「いいえ」なら$value=”学生ではありません”となります。
そして、$valueがあれば「”私は”. $value」と表示します。試しにラジオボタンで選択し、送信ボタンを押してみてください。ラジオボタンから取得した値が送信ボタンの下に表示されることがわかると思います。
getメソッド、postメソッドの違い
ここではgetメソッド、postメソッドについて解説していきます。<form>では、httpメソッドのgetかpostかを指定することができます。
指定方法は、<form>タグの属性にmethod=”get/post”を追記します。method属性を記述しなかった場合、デフォルトでgetメソッドでのhttp通信を行います。また、httpメソッドのgetかpostかによって、PHPの値の取得方法も変わってきます。
上記サンプルプログラムではデフォルト値であるgetメソッドだったので、PHPでは$_GETで値を取得することができました。対して、method=”post”を<form>タグに追記することで、postメソッドでのhttp通信に代わり、値の取得方法は$_POSTに変わります。
以下はpostメソッドのサンプルプログラムです。サンプルプログラム3
<form method="post"> あなたは学生ですか?<br> <input type="radio" name="student" value="学生です">はい <input type="radio" name="student" value="学生ではありません">いいえ <br> <input type="submit"> </form> <?php $value = $_POST['student']; if ($value) { echo "私は". $value; } ?>
ちなみに、getとpostは何が違うのかというと、URLに値(パラメータ)が付くかどうかが一番の違いになります。
試しにサンプルプログラム2(getメソッド)とサンプルプログラム3(postメソッド)で、送信ボタンを押した後のURLを確認して見てください。URLの最後に値(パラメータ)が付くかどうかの違いがわかると思います。
まとめ
この記事では、PHPによるラジオボタンの実装方法をサンプルプログラムを用いて解説しました。ラジオボタンは選択肢を一つ選ばせる際に最適なフォームです。
また、PHPでの値の取得方法および表示方法を解説し、get/postメソッドの違いについても説明しているので、ぜひPHPでのラジオボタンの実装方法をマスターしてください!