ラジオボタンとセレクトボックスは、どちらも複数の選択肢の中から1つ選ぶタイプのフォーム部品のため、PHP側の処理はまったく同じになります。
HTML側で使用するタグが違うだけですので、一緒に覚えられるでしょう。
性別のような選択肢が限られているものにはラジオボタンがベストです。
「男性」「女性」「解答しない」の3つの選択肢それぞれに対応した「input」タグを用意してラジオボタンを作成します。
name属性に共通の値を設定することで、ブラウザが1つのグループとして扱ってくれます。
PHP側では「$_POST[“変数名”]」という変数名で値を受け取ることができます。
実際に受け取れる値は、画面に表示されている文字ではなく「input」タグのvalue値を受け取る形になります。
セレクトボックスは「select」タグと「option」タグを組み合わせて作成します。
name属性が設定できるのは「select」タグの方ですので注意してください。
実際の選択肢は「option」タグを使って記述します。
PHP側では「$_POST[“pref”]」という変数名で値を受け取ることができます。
画面に表示される文字はタグで囲んだ文字の方ですが、フォームで送信される値はvalue値になります。
なお、「option」タグの属性値を省略した場合はタグを囲んだ文字が送信されます。
また、「select」タグに特殊な属性を設定することで複数の値を送信することも技術的には可能ですが、見た目がわかりづらいため、あまり利用されません。
ラジオボタンとセレクトボックスのPHPサンプルコード
・form.php
<DOCTYPE html>
<html>
<body>
<form action=”check.php” method=”post”>
性別<br>
<input type=”radio” name=”seibetu” value=”1″>男性
<input type=”radio” name=”seibetu” value=”2″>女性
<input type=”radio” name=”seibetu” value=”3″>解答しない<br>
都道府県<br>
<select name=”pref”>
<option value=”1″>北海道</option>
<option value=”2″>青森県</option>
<option value=”3″>岩手県</option>
<!– 中略 –>
<option value=”47″>沖縄県</option>
</select>
</form>
</body>
</html>
・check.php
<?php
// 選択された性別の属性値を表示する
print $_POST[“seibetu”].”(性別)
“;
//選択された都道府県の属性値を表示する
print $_POST[“pref”].”(都道府県”;
?.

コメント