libro
www.tuyano.com
初心者のためのPHPプログラミング入門

フォーム送信の基本をマスターしよう (4/5)

作成: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>の間に記述されたテキストが送られます。

また、何も選択されていなければ、やはり何も送られてきません。

※プログラムリストが表示されない場合

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>

※関連コンテンツ

「初心者のためのPHPプログラミング入門」に戻る