戻る

リストボックスの選択肢を取得する

$_POST、$_GET

<select>タグと<option>タグで表現される「リストボックス」は、複数の選択肢の中から1つだけを選ぶようなインターフェースで使われるフォーム部品です。<select>タグのname属性でフォーム部品の識別名を、また<option>タグのvalueプロパティでそれぞれの選択肢の値を設定します。

リストボックスで選択された項目は、$_POSTや$_GETなどの変数の添え字に<select>タグのname属性を指定することで受け取れます。その変数には、選択された<option>タグ項目のvalue属性の値が代入されています。その値を調べると、ユーザなどがどの項目を選択したか分かります。

この例では、「seldata」というname属性のリストボックスで選択されたデータを「$_POST[seldata]」という変数で受け取っています。どの項目も選択されていない場合、「$_POST["seldata"]」変数は未定義状態になります。isset()関数を使って未選択かどうかを確認できます。

<?php
header("Content-type: text/html; charset=utf-8");

if(isset($_POST["btnExec"])){
	
	if(isset($_POST["seldata"])){
		echo "選択された項目は「";
		echo $_POST["seldata"];
		echo "」です!";
	}
	else{
		echo "いずれの項目も選択されていません!";
	}
	echo "<br><br><br>";
}
?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
リストボックスのいずれかの項目を選択して「送信」ボタンをクリックしてください。
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
	<select size="5" name="seldata">
		<option value="ブラジル">ブラジル</option>
		<option value="イタリア">イタリア</option>
		<option value="アルゼンチン">アルゼンチン</option>
		<option value="フランス">フランス</option>
		<option value="イングランド">イングランド</option>
		<option value="オランダ">オランダ</option>
	</select>
	<input type="submit" name="btnExec" value="送信">
</form>
</body>
</html>

inserted by FC2 system