foreach($arr as $item){このように、foreachを使って、$arrから値を順に取り出して処理をしています。つまり、この$arrは、配列なのです。選択された項目がすべて配列として渡されていたのですね。
$result .= $item . "\n";
}
<select name="list1[]" size="5" multiple>複数項目が選択できるように「multiple」という属性が追加されています。が、ポイントはそこじゃありません。名前が、name="list1[]"と指定されています。"list1"ではなく、"list1[]"です。このように記述することで、このlist1の値は、一般的なテキストではなく、テキストの配列として渡されるようになるのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php if ($_POST != null){ $arr = $_POST['list1']; $result = ""; foreach($arr as $item){ $result .= $item . "\n"; } } 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"> <select name="list1[]" size="5" multiple> <option value="Windows">Windows</option> <option value="Mac OS">Mac OS</option> <option value="Linux">Linux</option> <option value="Android">Android</option> <option value="iOS">iOS</option> </select> <input type="submit"> </form> </body> </html>
<< 前へ |