フォーム送信の基本をマスターしよう (4/5)
作成:2010-12-04 15:04
更新:2010-12-04 15:04
更新:2010-12-04 15:04
■その他のフォーム用部品を使う
では、フォーム利用の基本がわかったところで、その他の部品についても使い方を見てみましょう。
フォームには、入力フィールドの他にも「チェックボックス」「ラジオボタン」「リスト」「テキストエリア」「パスワードフィールド」といったものがあります。テキストエリアやパスワードフィールドは、先ほどの入力フィールドと同じく「テキストを書いて送信する」ものですから使い方はわかるでしょう(ただ、送られてきたテキストを受け取るだけですから)。
が、チェックボックスやラジオボタンなどは、一体どのようにして値を受け渡すのでしょうか。実際に試してみましょう。
下に、チェックボックス、2つのラジオボタン、3つの項目があるリストを表示したフォームのサンプルをあげておきます。これを実際に動かして、それぞれの値がどう送られるのかを調べてみましょう。
・チェックボックス
これは、チェックがONだと「on」という値が送られてきます。ではチェックがOFFなら? これは「何も送られない」のです。つまり、空っぽです。
・ラジオボタン
これは、選択されているラジオボタンのvalueが送られてきます。valueが設定されていないと、チェックボックスと同様に、ただ「on」という値が送られてくるだけです。これでは「どのラジオボタンが選択されているか」がわからないので、必ずvalueを用意してください。
また、どのラジオボタンも選択されていない場合は、チェックボックスと同様に「何も送られない」ようになります。
・リスト
<select>は、コンボボックス風に表示したり、一覧リストのように表示をしたりできますが、送られてくる値はどれも同じです。選択された<option>のvalueが送られることになります。もしvalueが設定されていなければ、<option>~</option>の間に記述されたテキストが送られます。
また、何も選択されていなければ、やはり何も送られてきません。
フォームには、入力フィールドの他にも「チェックボックス」「ラジオボタン」「リスト」「テキストエリア」「パスワードフィールド」といったものがあります。テキストエリアやパスワードフィールドは、先ほどの入力フィールドと同じく「テキストを書いて送信する」ものですから使い方はわかるでしょう(ただ、送られてきたテキストを受け取るだけですから)。
が、チェックボックスやラジオボタンなどは、一体どのようにして値を受け渡すのでしょうか。実際に試してみましょう。
下に、チェックボックス、2つのラジオボタン、3つの項目があるリストを表示したフォームのサンプルをあげておきます。これを実際に動かして、それぞれの値がどう送られるのかを調べてみましょう。
・チェックボックス
これは、チェックがONだと「on」という値が送られてきます。ではチェックがOFFなら? これは「何も送られない」のです。つまり、空っぽです。
・ラジオボタン
これは、選択されているラジオボタンのvalueが送られてきます。valueが設定されていないと、チェックボックスと同様に、ただ「on」という値が送られてくるだけです。これでは「どのラジオボタンが選択されているか」がわからないので、必ずvalueを用意してください。
また、どのラジオボタンも選択されていない場合は、チェックボックスと同様に「何も送られない」ようになります。
・リスト
<select>は、コンボボックス風に表示したり、一覧リストのように表示をしたりできますが、送られてくる値はどれも同じです。選択された<option>のvalueが送られることになります。もしvalueが設定されていなければ、<option>~</option>の間に記述されたテキストが送られます。
また、何も選択されていなければ、やはり何も送られてきません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?php if ($_POST != null){ $ck1 =$_POST['check1']; $rd1 = $_POST['radio1']; $sl1 = $_POST['list1']; $result = "CHECKBOX: {$ck1}\nRADIOBUTTON: {$rd1}\nSELECT: {$sl1}"; } else { $result = "入力してね。"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>Hello PHP!</h1> <pre><?php echo htmlspecialchars($result); ?></pre> <form method="post" action="./index.php"> <input type="checkbox" name="check1">チェックボックス<br> <input type="radio" name="radio1" value="その1">ラジオボタン1<br> <input type="radio" name="radio1" value="その2">ラジオボタン2<br> <select name="list1"> <option value="Windows">Windows</option> <option value="Mac OS">Mac OS</option> <option value="Linux">Linux</option> </select> <input type="submit"> </form> </body> </html>
※関連コンテンツ