選択肢を含むフォームを作る際には、ラジオボタン・チェックボックスが用いられます。
ひとつだけ選択させる場合にはラジオボタン・複数選択の場合はチェックボックスです。
今回はこれらを使ってフォームを作る方法を解説します。
ラジオボタンの場合
ラジオボタンの場合は、ひとつしか選択できないので簡単です。
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を使う等する必要があります。