<!DOCTYPE html>
<html>
<head>
<title>My Form</title>
<meta charset="UTF-8" />
</head>
<body>
<form method="get">
<div>Name
<input name="name" size="15" type="text" />
</div>
<select multiple="yes" name="colors[]">
<option> 1 </option>
<option> 2 </option>
<option> 3 </option>
<option> 4 </option>
<option> 5 </option>
</select>
</form>
<?php
$number=10;
echo "hello";
if (isset($_GET["name"])){
echo " ".$_GET["name"];
echo "<br />";
}
echo count($_GET["colors"]), " ", $_GET["colors"], "<br />";
echo $_GET[$colors[0]]," is your first color.";
if(isset($_GET["$colors"])){
echo "You must like ";
for($colornum=0;$colornum<count($_GET["$colors"]);$colornum++){
echo $_GET[$colors[$colornum]]," ";
}
}
?>
</body>
</html>
なぜこれが機能しないのですか?選択された複数は、配列に正しく出力されないか、可能性があります。私の理解にあまり役立たない多くのデバッグ用のものがあります。未定義のインデックスと変数のエラーが発生します。オプション 1 ~ 3 を選択した後の出力は次のとおりです。
Name
hello jimbo1qaz
3 Array
Notice: Undefined variable: colors in E:\xampp\htdocs\myform.php on line 28
Notice: Undefined index: in E:\xampp\htdocs\myform.php on line 28 is your first color.
Notice: Undefined variable: colors in E:\xampp\htdocs\myform.php on line 29